Mysql8.0.22主从同步配置

mysql主从同步配置,版本8.0.22,多数据库主从同步

master库配置

1、编辑mysql配置文件,vi /etc/mysql/my.cnf
log-bin=mysql-bin # 开启binlog
server-id=1 # 主从复制链路中服务id不能相同
binlog-ignore-db=information_schema # 不开启binlog的数据库
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
binlog-do-db=demo # 开启binlog的数据库,不能用逗号隔开
binlog-do-db=db1
binlog-do-db=db2
binlog-do-db=db3
binlog_format=MIXED # binlog格式
binlog_expire_logs_seconds=60* 60* 24 # binlog过期时间:1天
max_binlog_size=32m # binlog最大大小,超过这个值会创建新的binlog
binlog_cache_size=4m # binlog缓存大小,执行sql的时候会创建缓存,所有session的内存超过最大值,会报错
max_binlog_cache_size=128m #binlog最大缓存大小

2、在master中创建用户,并为用户设置复制权限
mysql>CREATE USER ‘repl3’@’%’ IDENTIFIED WITH mysql_native_password BY ‘****’;
mysql>GRANT REPLICATION SLAVE ON . TO ‘repl3’@’%’;
mysql>FLUSH PRIVILEGES;
在这里插入图片描述

3、查看master状态,记录master当前的binlog日志已经位置,slave库配置需要用到
mysql>show master status;
在这里插入图片描述

slave库配置

1、编辑mysql配置, vi /etc/mysql/my.cnf
server-id=2 #服务id,不能与其他主、从服务的id相同
replicate_do_db=demo #需要同步的数据库
replicate_do_db=db1
replicate_do_db=db2
replicate_do_db=db3
replicate_ignore_db=mysql #主从服复制忽略的数据库

2、配置master库地址以及同步开始位置
mysql>CHANGE MASTER TO
MASTER_HOST=‘172.17.0.3’,
MASTER_USER=‘repl3’,
MASTER_PASSWORD=’****’,
MASTER_LOG_FILE=‘mysql-bin.000012’,
MASTER_LOG_POS=19659;
注意:修改master配置,需要先执行 mysql>stop slave; 修改完主库配置后,执行 mysql>start slave;即可

3、开始同步
mysql>start slave;

4、查看同步状态,slave_io_running=yes,说明开始同步
mysql>show slave status\G;
在这里插入图片描述

遇到的问题

1、master进行修改后,查看master状态,binlog的position的位置没有改变,binlog没有更新
master配置文件的问题,binlog-do-db=db1这个配置,多个数据库不能用逗号分隔,配置多条即可;slave库的同步配置replicate_do_db=db1,如果多个库同样需要配置多条

2、查看mysql数据库日志路径
mysql>show variables like ‘log_%’;

3、slave_io_running=no,master库连接失败问题
1、telnet查看配置的master库的端口是否通
2、查看复制用户的用户名密码是否正确
3、查看复制用户用户的访问权限是否正确
4、检查辅助用户的认证方式

4、现有主从数据库中表结构不一致导致主从复制失败,mysql>show slave status\G;可以看到具体的错误
一旦出现从库,执行同步过来的binlog失败,主从同步就停止了;此时需要修改slave库表结构,保证主从数据库表结构一致,然后在执行mysql>stop slave; mysql>start slave; ,不生效的话就重启slave数据库实例;
注意:修改mysql配置文件必须要重启mysql才难生效

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值