Mysql主从配置及Slave_IO_Running:Connecting和ERROR 3021(HY000):this ope

举报
Code皮皮虾 发表于 2021/08/25 21:16:05 2021/08/25
【摘要】 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
  1. 修改主库的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    #需要同步的数据库
  1. 修改好配置文件,重启mysql服务
docker restart mysql01
  1. 给读取文件权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
  1. 添加用来同步的用户
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';
  1. 查看master状态
show master status\G;

2、从库配置

  1. 修改从库的配置文件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    #需要同步的数据库
  1. 修改好配置文件,重启mysql服务
docker restart mysql02
  1. 给读取文件权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
  1. 查看主库的状态
    在这里插入图片描述

  2. 设置主库连接

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=主库的端口;
  1. 启动从库同步
start slave;
  1. 查看从库的状态
 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。