在centos 中创建两个mysql容器
docker run --name q_master -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest --character-set-server=utf8 --collation-server=utf8_general_ci
docker run --name q_slave -p 13307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest --character-set-server=utf8 --collation-server=utf8_general_ci
通过命令更改master和slave的配置文件
master:
slave配置:
更改配置文件通过 vi my.cnf,更改,进入对应的容器,cd /etc/mysql切换到/etc/mysql目录下,然后vi my.cnf对my.cnf进行编辑
如果出现bash: vi: command not found,需要我们在docker容器内部自行安装vim。使用apt-get install vim命令安装
配置编写完成后,保存退出
在Master进入mysql(Navicat Premium-工具-命令列界面),执行show master status;
Slave 中进入 mysql,执行change master to master_host='172.17.0.2', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000003', master_log_pos= 155, master_connect_retry=30;
开启同步
根据同步日志:
1.
Authentication plugin 'caching_sha2_password' cannot be loaded: ....
最新版本密码规则变化导致
可对slave账号进行如下相同的处理:
2
COULD NOT FIND FIRST LOG FILE NAME IN BINARY LOG INDEX FILE
则先停止从库,停止命令 stop salve获取最新的同步文件后再次执行命令即可