使用start slave开启主从复制过程后,如果SlaveIORunning一直是Connecting,则说明主从复制一直处于连接状态,这种情况一般是下面几种原因造成的,我们可以根据 Last_IO_Error提示予以排除。
- 网络不通:检查ip,端口
- 密码不对:检查是否创建用于同步的用户和用户密码是否正确
- pos不对:检查Master的 Position
参考:
查看 master_host :Master的地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称|容器id
在slave 中查看状态里面的master_host 与master是否对应
在master那边,执行:
flush logs; #刷新logs
show master status;#查看状态信息
修改对应的值
change master to
master_host='172.17.0.4',
master_user='slave',
master_password='123456',
master_port=3306,
master_log_file='mysql-bin.000003',
master_log_pos= 154,
master_connect_retry=30;
修改完以后
start slave; #启动slave
show slave status \G; #查看状态
修改成功!!!