注意:
数据库要保持一直
如果不会安装,请查看安装步骤 centos8 离线安装mysql8,详细安装步骤
1、主节(Master)点配置
修改 Master 的配置文件/etc/my.cnf
在my.cnf文件中加入如下配置内容
[mysqld]
log-bin=mysql-bin
server-id=1
2、从节点(Slave)配置
修改 Slave 的配置文件/etc/my.cnf
在my.cnf文件中加入如下配置内容
[mysqld]
server-id=2
3、创建用于复制操作的用户
在主节点创建一个用户repl,用于从节点链接主节点时使用。
CREATE USER 'repl'@'192.168.200.144' IDENTIFIED WITH mysql_native_password BY 'Ron_master_1';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.200.144';
flush privileges;
4、获取主节点当前binary log文件名和位置(position)
SHOW MASTER STATUS;
5、在从(Slave)节点上设置主节点参数
CHANGE MASTER TO
MASTER_HOST='192.168.200.158',
MASTER_USER='repl',
MASTER_PASSWORD='Ron_master_1',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=156;
注意:MASTER_LOG_FILE 为上图查询出来的,MASTER_LOG_POS 为上图的 position 查出来的
重启master和slave数据库
# 停止
systemctl stop mysqld
# 启动
systemctl start mysqld
6、在slave上查看主从同步状态
show slave status\G;
7、开启主从同步
start slave;
8、再查看主从同步状态
show slave status\G;
9、如果出现如下问题
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
排查
分别在主从数据库中执行如下sql, 并必读两边的server_id 是否一样,一样则修改my.cnf设置成不一样:
show variables like '%server_id%';
分别在主从数据库中执行如下sql, 并必读两边的server_uuid 是否一样,如果一样则删除从数据库的数据目录下的auto.cnf:
show variables like '%uuid%';
删除 auto.cnf 后重启数据库服务
最后修改于 2020-11-30 17:09:08
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

