博客列表 >CentOS7 64位 mysql主从同步配置(2020)

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

书声的博客
书声的博客原创
2020年05月18日 19:11:531426浏览

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 

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议