mysql主从延迟问题(RBR的bug)

修改表结构:http://zhaoyun.blog.51cto.com/2090116/727252


通过检查slave状态:
show slave status\G;

分析binlog:
/usr/local/mysql/bin/mysql binlog  -usystem -p'BK_root2010!' -vv -S /data/mysqldata/3306/mysql.sock  --start-position=' 9450369'    
/data/mysqldata/3306/binlog/mysql-bin.000556 >/home/mysql /mysql-restore.sql


查看delete语句
DELETE FROM baike.bk_sham_attention where baike_id=507 limit 10000;(删除一万条数据)

发现slave会一条一条数据删除,放在一个特别大的事务里面(基于row的)


根源:这是一个RBR的bug

原因:这表上你看看是不是没有主键或者唯一索引

查看问题表:

CREATE TABLE `bk_sham_attention` (
  `baike_id` int(11) NOT NULL,
  `uid` bigint(12) NOT NULL,
  `addtime` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

确实没有索引和自增项。

修改表,加一个自增项

use baike;

set names gbk;

alter table bk_sham_attention add id bigint(12) not null auto_increment primary key not null first ;

修改表结构,50w的数据4秒钟。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值