十四周五次课 2018.01.25

mysql主从常见问题

从数据库无法同步

可能原因:1.从库上进行了写操作,2.从库机器重启事务回滚。

解决办法1:停掉主从同步,忽略一次错误,再开启同步。

解决办法2:停掉主从同步,查看主服务器上当前的 bin-log 日志名和偏移量,然后到从服务器上执行手动同步,再开启主从同步。

具体场景

1.

错误:主库创建或删除表没有通过执行sql,未写入binlog,从库上没有相关表;

解决方案:在从库上手动创建或删除表(建表语句可参考主库);

2.

2.1错误:在从库已经有该记录,又在主库上插入了同一条记录,从库重复记录,导致数据不一致。

解决方案:在从库上将重复的记录删除,再次重启主从;或者忽略这次错误,然后再次开启同步。

2.2错误:在主库上删除一条记录,而从上找不到。

解决方案:忽略这次错误,然后再次开启同步。

2.3错误:在主库上更新一条记录,而从库上找不到,丢失了数据。

解决方案:把丢失的数据在从库上填补,然后跳过报错即可。

3.

3.1错误:字段不一致

解决方案:修改不同的字段,然后再次开启同步。

3.2错误:表里缺少字段

解决方案:在缺少字段的库里的表里添加这个字段

4.

错误:超出MyISAM数据表大小限制(默认上限是4g)

解决方案:用AVG_ROW_LENGTH和MAX_ROWS建表选项把这个最大值扩大到800万TB,重启同步。

5.

错误:从库的中继日志relay-bin损坏

解决方案:在主库上找到同步的binlog和POS点,然后重新做同步,这样就可以有新的中继日志了。

6.

错误:binlog index记录不一致

解决方案:找到同步的点和日志文件,然后chage master即可。

7.

错误:主从时区不一致导致主从数据不一致

解决方案:把时区设置相同,尽量使用同一个时间服务器,

8.

错误:字段集不一致

解决方案:1.从库:去掉主键 2.从库:修改默认编码为gb2312  3.再次查询:

9.

错误:max_allowed_packet太小

解决方案:修改max_allowed_packet的大小,然后重启slave。建议主从一致

10.

错误:临时表太大导致磁盘写满

解决方案:修改socket目录到空间较大的分区,再重启。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值