环境:
MySQL8.0
master:Centos7 IP: 172.172.0.2
slave:Centos7 IP: 172.172.0.3
主库配置:
vi /etc/my.cnf
编辑配置
[mysqld]
log-bin=mysql-bin
server-id=2 #根据IP 2最后一位
添加用于同步的数据库账号
use mysql;
create user 'repl'@'%' identified by 'Test@1234';
grant replication slave on *.* to 'repl'@'%';
flush privileges;
显示主库状态
show master status;

从库配置:
vi /etc/my.cnf
server-id=3
添加主从同步账号
use mysql;
create user 'repl'@'%' identified by 'Test@1234';
grant replication slave on *.* to 'repl'@'%';
flush privileges;
change master to master_host='172.172.0.2',
master_port=3306,
master_user='repl',
master_password='Test@1234',
master_log_file='mysql-bin.000001',
master_log_pos=862;
start slave; #启动主从同步
常见问题处理:
问题1:show slave status\G

解决方法:
使用复制账号在从库登录一次
mysql -u repl -p -h 172.172.0.2
问题2:在从库上

这个是由于从库服务器采用的克隆产生的,mysql的唯一标识和主库一致
解决方法:
删除UUID,重启服务自动生成新UUID
rm -f /var/lib/mysql/auto.cnf
systemctl restart mysqld
问题3:数据库主从报Got fatal error 1236 from master when reading data from binary log: 'Could not open log file'
show slave status\G

解决方法:
master端:
show master status

记住file和position这两个选项
slave端:
进入mysql
stop slave
change master to master_log_file ='mysql-bin.000001',master_log_pos=1063; #从1063记录点开始同步
start slave