mysql
文章平均质量分 78
不上进的菜鸟
这个作者很懒,什么都没留下…
展开
-
【唯一索引写入冲突会导致ONLINE DDL报错】
唯一索引写入冲突会导致ONLINE DDL报错现象最近对业务大表做了归档,有很大的空间未释放,于是想着alter table xxxx engine=innodb进行表空间的收缩,由于此操作是支持online ddl,于是抽了一个业务低峰期搞,发现DDL失败,并报唯一索引冲突。一、为什么收缩一下表空间会报唯一约束冲突?于是我在网上查,我查到了一篇文章,链接:http://www.136.la/nginx/show-169305.html我就备份了表的数据去测试环境复现,cc_coupon_ct原创 2022-05-12 17:23:46 · 851 阅读 · 0 评论 -
PT工具对大表DDL白天也不能执行
【问题描述】用PT工具处理过几次白天大表DDL,发现每次都对业务性能造成了抖动,现象是Threads_running暴涨,CPU瞬间100%,持续10秒后恢复(持续时间跟表的大小有关,10秒是97G的表)CPU监控图threads_running监控图这个时间点刚好符合我在用PT工具大表DDL的时间,在网上找了一篇文章解释比较合理,可参考原文链接:https://www.cnblogs.com/CtripDBA/p/11465315.html此处只是为了保存自己学习所用,但还没有验证关掉自适应哈希转载 2021-08-28 10:36:31 · 344 阅读 · 1 评论 -
mysql间隙锁小测
1、间隙锁是为了防止事务更新删除或者锁定数据时,别的事务dml符合事务1条件的数据,从而造成幻读,理解间隙锁前,先了解一下快照读和当前读,并非事务开启就开启快照读,而是第一条select语句执行才产生快照,当事务发生lock in share mode,for update,insert,update,delete操作时,会对修改的记录采取当前读,获取事务外对修改此记录已提交修改的数据Table: aCreate Table: CREATE TABLE a (id int(10) NOT NULL,原创 2021-02-02 11:07:04 · 2327 阅读 · 3 评论 -
mysql 表无主键全表delete,slave延迟是否一定要重建?
mysql 表无主键全表delete,slave延迟是否一定要重建?今天监控告警某个slave延迟越来越大,且一直在增长,如果开了参数binlog_rows_query_log_events ,在binlog里就会保存原始的DML SQL,这样我们可以在slave上执行show processlist查看当前正在执行的事务SQL发现是全表delete, show create table 查看表结构,发现没有主键,且没有索引,而且没有合适的字段来创建唯一索引查看slave状态,此时的Seconds原创 2021-01-28 11:25:20 · 504 阅读 · 1 评论