使用docker技术实现MySQL主从同步出现IO connecting的解决方案

MySQL版本:5.7.26

1 检查从库绑定主库命令是否正确

从库绑定主库的命令:

change master to master_host='your_ip',master_port=port,master_user='username',master_password='password',master_log_file='binlog.000001',master_log_pos=154;

在主机中执行命令:

show master status

可以得到参数master_log_file,master_log_pos的值。

2 给登录用户赋予权限

# 为用户分配主从复制的权限
grant replication slave on *.* to 'username'@'%'

# 给用户分配远程登录的权限
grant all privileges on *.* to 'username'@'%' identified by 'password';

# 刷新用户权限
flush privileges;

3 查看主从文件中的服务的server-uuid是否一样

因为使用docker技术在同一台服务器上实现主从同步,从同一个镜像中得到的两个容器的server-uuid相同。
找到从机var/lib/mysql目录挂载的文件夹,找到文件auto.cnf,删除文件之后重启从机。

rm -f auto.cnf
docekr restart mysql2

其他方法可以参照网上博客。

你可能感兴趣的:(坑,mysql,docker,服务器)