一、搭建前准备
主库 192.168.1.76
从库 192.168.1.78
二、搭建
1、编辑配置文件
主库
server-id=76
gtid_mode=on
enforce_gtid_consistency=onlog_bin=master-binlog
log-slave-updates=1
binlog_format=row
从库
gtid_mode=on
enforce_gtid_consistency=on
server_id=78log-bin=slave-binlog
log-slave-updates=1
binlog_format=row
2、主库创建复制用户
create user 'repl'@'%' identified by 'repl123';
grant replication slave,replication client on *.* to 'repl'@'%';
3、搭建主从复制
可以发现从库运行语句报错。
报错原因:GTID_MODE=off,应该为on,配置文件没有重新启动发挥作用。
解决方法:主从库依次运行
set global enforce_gtid_consistency=WARN;
set global enforce_gtid_consistency=on;
set global gtid_mode=OFF_PERMISSIVE;
set global gtid_mode=ON_PERMISSIVE;set global gtid_mode=ON;
4、开启主从复制
从库运行
change master to master_host='192.168.1.76',master_user='repl',master_password='repl123',master_auto_position=1;
发现io进程没有开启。
之后我重启了下机器,让/etc/my.cnf文件配置成功。
重启后发现io进程:connecting,还没开启成功。
最后发现是因为现在的mysql8.0的密码加密都是用的 caching_sha2_password这种。
stop slave;
change master to master_host='192.168.1.76',master_user='repl',master_password='repl123',master_auto_position=1,get_master_public_key=1;
主从复制搭建成功。