问题2003,我这里原来是去访问本机地址端口,后改成使用容器ip解决
其他博客用的方法没解决的话可以试试我这个方法,首先我用的是docker容器 自己开了两个mysql容器来进行测试。
进入主库指令
docker exec -it mysql-master /bin/bash
然后通过下面目录找到对应容器ip
tail /etc/hosts
这里找到主库容器ip地址,然后去进行连接
在进入从库的容器当中去测试一下账号是否问题
mysql -uslave -p123456 -h172.17.0.2
成功进入主库证明账号密码没问题(如果没有给账号连接权限放开也是会连接不上)
再次去配置主库信息
change master to master_host='172.17.0.2', master_user='slave', master_password='123456', master_port=3306, master_log_file='xxxxx', master_log_pos=xxx, master_connect_retry=30;
主从复制命令参数说明:
- master_host:主数据库的IP地址;
- master_port:主数据库的运行端口;
- master_user:在主数据库创建的用于同步数据的用户账号;
- master_password:在主数据库创建的用于同步数据的用户密码;
- master_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;
- master_log_pos:指定从数据库从哪个位置开始复制数据,通过查看主数据的状态,获取Position参数;
- master_connect_retry:连接失败重试的时间间隔,单位为秒。
然后这样就成功了。换成这种连接方式可以去避免当前服务器防火墙,端口等一些其他问题