Blogger Information
Blog 63
fans 2
comment 0
visits 162972
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
CentOS7 64位 mysql主从同步配置(2020)
书声的博客
Original
1425 people have browsed it

CentOS7 64位 mysql主从同步配置(2020.5.18)

一、主从主机IP

主库主机IP:192.168.30.130

从库主机IP:192.168.30.129


二、主库主机配置

1.进入主服务器,停止主服务mysql服务: systemctl stop mysqld;

主节点编辑配置文件

vim /etc/my.cnf 的 [mysqld] 下面

添加如下配置:

server-id=1
log-bin=master-bin
log-bin-index=master-bin.index

注: 多台节点的server-id必须不同,否则会出现异常。

重启数据库,使得配置生效:

然后启动mysql服务:

systemctl start mysqld;

2. 进入主节点mysql,创建用户:

create user 'xiaomi'@'192.168.30.129' identified by '123456';

注:ip即允许连接的ip地址,安全起见可以写slave从节点的ip(192.168.30.129),或者直接写%代表所有ip均可以连接。

3. 对用户进行权限设置:

格式:

grant replication slave on *.* to 'username'@'ip';

操作:

grant replication slave on *.* to 'xiaomi'@'192.168.30.129';

注: 表示从ip使用username连接过来的请求,允许复制。所以,ip为从节点的ip,username为上面创建的username

使配置生效:

flush privileges;

4. 进入从节点服务器,停止mysql服务:

systemctl stop mysqld;

从节点slave编辑配置文件

vim /etc/my.cnf 的[mysqld] 下面添加如下配置:

server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin

重启mysql服务,使配置生效:

service mysqld restart

主库.png


二、从库主机配置

CHANGE MASTER TO
MASTER_HOST='192.168.30.130', -- 主库ip
MASTER_USER='xiaomi', -- 用户名
MASTER_PORT=3306, -- 端口号
MASTER_PASSWORD='123456', -- 密码
MASTER_LOG_FILE='mysql-bin.000007', -- 开始文件
MASTER_LOG_POS=619; -- 开始位置

注: master_host是主节点的ip地址,master_user 和master_password是前面步骤2主服务器创建的用于连接主服务器的帐号和密码,master_log_file和master_log_pos需要从master节点,进入Mysql数据库后进行查询,命令如下:

进入主服务器登录 mysql: mysql -uroot -p ,输入密码后进入mysql,输入如下指令:

show master STATUS;

1. 在从节点上启动主从复制

start slave;

如需要关闭,使用如下命令:

stop slave;

查看从节点状态:

show slave status \G;

如果没有异常信息,则说明启动成功。

2.从库需要一个单独的只读权限账号登录,否则可以修改从库数据容易引起主从不一致,创建从库只读用户:

 GRANT SELECT ON *.* TO 'slave_user'@'%' IDENTIFIED BY "ygW_2018";


从库.png

注意:从库在设置时start slave报错,解决办法如下:

3.png

查询MySQL日志:

4.png

图片中标红的日志记录,由于使用的是冷备份文件恢复的实例,在mysql库中的slave_relay_bin.index表中依然保留之前relay_log的信息,所以导致启动slave报错。
mysql提供了工具用来删除记录:

slave reset;

slave reset执行候做了这样几件事:
1、删除slave_master_info ,slave_relay_log_info两个表中数据;
2、删除所有relay log文件,并重新创建新的relay log文件;
3、不会改变gtid_executed 或者 gtid_purged的值
5.png



————————————————
参考原文链接:https://blog.csdn.net/liubo_2016/article/details/82379115

问题参考原文:https://blog.csdn.net/weixin_37998647/article/details/79950133 

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post