主从同步功能实践

本文详细描述了如何在MySQL中配置主服务器创建用户、设置权限,以及主从服务器间的同步过程。特别关注了网络中断时的处理策略和slave_net_timeout的调整。还提到如何检查和解决同步延迟和数据未同步的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间:2019-12-07 10:57:48

主服务器配置:

创建用户

1

2

3

4

5

6

7

8

#EXPIRE NEVER永久

CREATE USER `用户名`@`IP地址` IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;

#设置权限

GRANT Replication Client, Replication Slave,Replication File ON *.* TO `用户名`@`IP地址`;

#设置表的权限

GRANT AlterCreateCreate ViewDeleteDropGrant OptionIndexInsert

ReferencesSelect, Show ViewTriggerUpdate ON TABLE `库`.`表名` TO `用户名`@`IP地址`;

flush privileges;

更新配置

1

2

3

4

5

6

7

8

9

10

11

bind-address            = 0.0.0.0

server-id               = 1

log_bin                 = /var/log/mysql/mysql-bin.log

expire_logs_days      = 10

max_binlog_size   = 100M

#同步的库名

binlog_do_db        = 库名

#忽略的库

binlog_ignore_db      = mysql

#同步的库的表名

replicate-wild-do-table = 库名.表名

从服务器

1

2

3

4

5

6

7

8

9

10

#主从同步配置之从

bind-address=0.0.0.0

server-id=2

relay-log=relay-bin

#需要同步的表

replicate-wild-do-table = 库名.表名

#mysql主从复制时,master和slave之间的网络中断,

#但是master和slave都没有察觉,slave会等待slave_net_timeout时间后

#(默认3600s),才能认为网络出现故障,然后才会重连并且追赶这段时间主从的数据。

slave_net_timeout = 30

主服务器执行:

1

show master status;

图片.png

从服务器执行命名

1

2

3

4

5

6

7

change master to MASTER_CONNECT_RETRY=30,MASTER_RETRY_COUNT = 0,master_host='主IP',master_user='用户名',master_password='密码',master_log_file='mysql-bin.000005',master_log_pos=150;

show slave status \G

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=150;

这里建议调协超时配置 

MASTER_CONNECT_RETRY=30# 默认为60S

MASTER_RETRY_COUNT = 0#错误重试次数5.6引入0为不限制

图片.png

都为YES 才是正常的

1

2

3

4

#启动同步

slave start;

#停止同步

slave stop;

遇到的问题:

图片.png

网络延时、状态正常数据未同步

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值