一、环境
CentOS : 7.3.1611 (Core)
mysql:8.0.20
二、遇到的问题
1.查看主从同步发现下列问题
error connecting to master 'repl@192.168.0.21:3306' - retry-time: 60 retries: 4 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection。
注:主从同步的账号最好不要用'caching_sha2_password' ,使用'mysql_native_password'
修改后,启动slave(start slave),又报错
Last I0 Error: Got fatal error 1236 from master when reading data from binary log: "Could not find first log file name in binary log index file。
彻底同步无望!!只能重新同步!
三、开始同步
1、导出主数据库数据
mysqldump -uroot -p -h192.168.31.XX --single-transaction --master-data=2 --all-databases > /data/alldatabase.sql
#参数解析
--single-transaction 启用一个事务来进行备份操作,备份过程中不会对数据库进行锁操作
--master-data=2 该选项将当前服务器的binlog的位置和文件名追加到输出文件中(show master status)。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE MASTER命令前添加注释信息
2、停止从数据库的同步
>stop slave;
>reset master;
>reset slave all;
3、导入主数据库数据
>source /tmp/alldatabase.sql
>flush privileges; #如果同步所有的库需要执行此步骤,刷新用户信息
4、查看导出数据时binlog的位置
head -n50 alldatabase.sql
5、准备启动slave
# 写入master当前位置
>CHANGE MASTER TO MASTER_HOST='192.168.31.xx', MASTER_USER='replication', MASTER_PASSWORD='xxxxxxx', MASTER_LOG_FILE='fcy4243-bin.000040', MASTER_LOG_POS=127128110;
#启动slave
>start slave;
#查看slave是否正在同步主库
>show slave status\G;
6、查看同步进程