mysql集群-主库从库配置--主从库分离

mysql集群

为什么要做主从库分离?

怎么进行分离?

设置2个数据库,为主库从库,主库存储,从库查询

怎么设置?

在你原本的配置yml文件中主库的ip是多少,从库是多少,都要和数据库的ip 一致

先编辑文件

#cp /usr/share/mysql/my-default.cnf /etc/my.cnf,就是说将my-default.cnf这个文件移动到/etc/my.cnf下面,要在根目录底下执行

#vim /etc/my.cnf--编写这个文件

进入后可以看到my.cnf文件内容,不好辨认,所以增加:set nu(增加行号)

把光标放在第4行,然后对文件进行修改-插入( :+ i)esc就能退出编辑模式

这里每个服务器都要设置唯一的id

主从同步是通过二进制的日志文件来进行,故须开启MySQL的日志功能记录增删改,每次服务启动就会产生新的日志文件

存储所有master-bin.0000xx文件名

配置端口号,这个端口号就是自定义的,一般不要改端口号

#需要同步的数据库名,若同步多个数据库数据用逗号分隔继续追加;若没有本行则表示同步所有的数据库数据,第9行可标注

#不同步的数据库名,多个用逗号分割;ignore=忽略

如果你时间超过1s就是慢查询

第一个就是打开慢查询,第二个就是设置阀值

以上几句诗设置文件的内容,退出编辑模式并保存;esc :wq,或者:wq!


启动服务让配置生效

systemctl start mysqld 重启 or systemctl restart mysqld 启动

未启动就用启动mysql,如果未启动过就用重启


创建主从同步的帐户

#mysql -uroot -p123456@Yc(密码按照自己设置的)

mysql> GRANT REPLICATION SLAVE ON *.* to rep@'%' IDENTIFIED BY '123456@Yc';

mysql> flush privileges;

mysql> select host,user from mysql.user;当看到user是有rep代表设置成功

配置从库

也是一样,需要一个配置文件,然后在项目里启动文件

配置时需要更改【服务器id】并取消log配置,因为是从库,不需要给别人同步数据,所以取消log配置

A.从库my.conf配置同master服务器配置一样,但server-id=2,取消#binlog-ignore-db配置,保存退出

B.重启mysql让其配置生效:

systemctl start mysqld or systemctl restart mysqld

如何知道是否已经启动mysql

执行losf -i :3306,看到有mysql就执行重启,未看到就执行启动


然后在主库,输入showstatus查看主库状态

然后在从库,登录从库后执行

绑定失败

停掉slave即可

再执行一边,看到ok即可

检查

需要看到这2个yes

相关推荐
catoop19 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
Web极客码20 小时前
我用 Claude 分析 Redis 哨兵日志,实现跨机房数据不一致自动对齐
数据库·redis·php
库库的数据库笔记20 小时前
国产信创数据库的MySQL兼容性深度对比解析
大数据·数据库·mysql·oceanbase·政务
姚远Oracle ACE21 小时前
为什么无法连接到 PostgreSQL?
数据库·postgresql
ss27321 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 22 PostgreSQL实例与集群
数据库·笔记·postgresql
ss27321 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 21 PostgreSQL进程与内存架构介绍
数据库·笔记·postgresql
Henry-SAP1 天前
SAP PP模块全景概览
数据库
喜欢吃豆1 天前
Better Auth 深度解析:从用户认证到企业级身份基础设施
数据库·架构·权限·多租户
其实防守也摸鱼1 天前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全