Mysql主从配置及Slave_IO_Running:Connecting和ERROR 3021(HY000):this ope
【摘要】 Mysql主从配置及Slave_IO_Running:Connecting和ERROR 3021(HY000):this operation cannot be performed wit报错解决办法
1、主库配置
名称 | IP |
---|---|
mysql01(主库) | 192.168.204.128 |
mysql02(从库) | 192.168.204.128 |
- 修改主库的my.cnf文件
# 服务的唯一编号
server-id = 1
# 开启mysql binlog功能
log-bin = mysql-bin
# binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
binlog-ignore-db=information_schema #这是mysql默认的数据库,忽略掉
binlog-ignore-db=mysql #这是mysql默认的数据库,忽略掉
binlog-ignore-db=performance_schema #这是mysql默认的数据库,忽略掉
binlog-do-db=test #需要同步的数据库
- 修改好配置文件,重启mysql服务
docker restart mysql01
- 给读取文件权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
- 添加用来同步的用户
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';
- 查看master状态
show master status\G;
2、从库配置
- 修改从库的配置文件my.cnf
# 服务的唯一编号
server-id = 2
# 开启mysql binlog功能
log-bin = mysql-bin
# binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
binlog-ignore-db=information_schema #这是mysql默认的数据库,忽略掉
binlog-ignore-db=mysql #这是mysql默认的数据库,忽略掉
binlog-ignore-db=performance_schema #这是mysql默认的数据库,忽略掉
binlog-do-db=test #需要同步的数据库
- 修改好配置文件,重启mysql服务
docker restart mysql02
- 给读取文件权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
-
查看主库的状态
-
设置主库连接
change master to master_host='192.168.204.128',master_user='backup',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=0,master_port=主库的端口;
- 启动从库同步
start slave;
- 查看从库的状态
show slave status\G;
表示成功。
3、解决故障
1.Mysql主从同步时出现:Slave_IO_Running:Connecting ;
原因:
1.网络不通
2.账户密码错误
3.防火墙
4.mysql配置文件问题
5.连接服务器时语法
6.主服务器mysql权限
顺带一提的是,我出的错是因为防火墙的原因,我把防火墙关闭后就成功了!
2.Mysql主从赋值,从机验证报错:ERROR 3021(HY000):this operation cannot be performed with a running salve io thread:
原因:
mysql从机上已经进行过绑定了,如果继续绑定需要先进行重置。
1、停止已经启动的绑定
stop slave;
2、重置绑定
reset master;
3、执行复制主机命令
change master to master_host='192.168.204.128',master_user='backup',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=0,master_port=主库的端口;
4、发现此时已经不报错
5、启动复制
start slave;
觉得不错的小伙伴可以点赞关注和收藏哦!
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)