置顶随笔

[置顶]MySQL 上亿大表优化实践

摘要: [toc] 背景 XX实例(一主一从)xxx告警中每天凌晨在报SLA报警,该报警的意思是存在一定的主从延迟(若在此时发生主从切换,需要长时间才可以完成切换,要追延迟来保证主从数据的一致性) XX实例的慢查询数量最多(执行时间超过1s的sql会被记录),XX应用那方每天晚上在做删除一个月前数据的任务 阅读全文

posted @ 2019-05-07 21:51 Jia-Xin 阅读(2167) 评论(6) 编辑

2019年5月19日

MySQL 加锁和死锁解析

摘要: [toc] 产生死锁的必要条件 多个并发事务(2个或者以上) 每个事物都持有了锁(或者是已经在等待锁) 每个事务都需要再继续持有锁(为了完成事务逻辑,还必须更新更多的行) 事物之间产生加锁的循环等待,形成死锁 常规锁模式 LOCK_S(读锁,共享锁) LOCK_X(写锁,排它锁) 锁的属性 LOCK阅读全文

posted @ 2019-05-19 22:14 Jia-Xin 阅读(95) 评论(0) 编辑

2019年5月13日

Linux 如何用命令查看binlog文件的创建时间

摘要: [toc] 背景 MySQL在26日 16:23:49产生了大量的慢查询,在这段时间内,binlog文件刷新的很快(查看慢日志是mysql DML并发比较多),想知道写完一个binlog文件究竟花了几分钟时间? 分析 三个binlog文件的最后修改间隔时间分别是2 分钟和1 分钟 同一个事务只能写同阅读全文

posted @ 2019-05-13 22:06 Jia-Xin 阅读(32) 评论(0) 编辑

2019年5月12日

MySQL 几种调式分析利器

摘要: [toc] pstack 获取堆栈信息 问题线程的定位 负载较低 mysql_pid=4522 pstack $mysql_pid pstack.info pt pmp对堆栈信息排序 pt pmp pstack.info | less 也可以直接执行pt pmp pt pmp pid 4522 如 阅读全文

posted @ 2019-05-12 20:39 Jia-Xin 阅读(50) 评论(0) 编辑

2019年5月7日

MySQL 上亿大表优化实践

摘要: [toc] 背景 XX实例(一主一从)xxx告警中每天凌晨在报SLA报警,该报警的意思是存在一定的主从延迟(若在此时发生主从切换,需要长时间才可以完成切换,要追延迟来保证主从数据的一致性) XX实例的慢查询数量最多(执行时间超过1s的sql会被记录),XX应用那方每天晚上在做删除一个月前数据的任务 阅读全文

posted @ 2019-05-07 21:51 Jia-Xin 阅读(2167) 评论(6) 编辑

2019年4月26日

MySQL 字符集utf8和utf-8的关系

摘要: [toc] 什么是字符集(character set) 字符的二进制编码方式 二进制编码到一套字符的映射 二进制 编码 字符 校对规则(collation) 在字符集内用于比较字符的一套规则 ASCII码 1个字节由8个二进制位组成 1个字节可表示256种不同的状态(256个不同符号) ASCII码阅读全文

posted @ 2019-04-26 08:25 Jia-Xin 阅读(142) 评论(0) 编辑

2019年4月24日

MySQL 非空约束位置不同对自增列造成的影响

摘要: MySQL版本 select version(); + + | version() | + + | 5.7.21-log | + + 1 row in set (0.00 sec) 非空约束为null 并在自增列属性前 即使自增列的非空约束定义可以为 null,但实际自增列为not null cre阅读全文

posted @ 2019-04-24 20:24 Jia-Xin 阅读(66) 评论(0) 编辑

2019年4月19日

MySQL slow_log日志表出现非法字段值

摘要: 背景 从mysql.slow_log 获取慢查询日志很慢,该表是csv表,没有索引。 想添加索引来加速访问,而csv引擎不能添加索引(csv引擎存储是以逗号分割的文本来存储的),只能改存储引擎来添加索引了 MySQL 中日志表slow_log和general_log主要特点 日志表只能是CSV和MY阅读全文

posted @ 2019-04-19 22:03 Jia-Xin 阅读(64) 评论(0) 编辑

2019年4月10日

MySQL mysqlbinlog 读取mysql-bin文件出错

摘要: 问题 mysqlbinlog v v base64 output=DECODE ROWS mysql bin.000166 | less 查看当前使用的mysqlbinlog文件位置 which mysqlbinlog /usr/bin/mysqlbinlog ll /usr/bin/mysqlbi阅读全文

posted @ 2019-04-10 21:14 Jia-Xin 阅读(51) 评论(0) 编辑

2019年4月9日

MySQL slow_log表不能修改成innodb引擎

摘要: 背景 从mysql.slow_log 获取慢查询日志很慢,该表是csv表,没有索引。 想添加索引来加速访问,而csv引擎不能添加索引(csv引擎存储是以逗号分割的文本来存储的),只能改存储引擎来添加索引了 mysql.slow_log表能改成myisam,不能改成innodb mysql.gener阅读全文

posted @ 2019-04-09 21:25 Jia-Xin 阅读(54) 评论(0) 编辑

2019年3月27日

Linux 进程一直占用单核CPU分析

摘要: pidstat 1信息 可以查看pid为12186的进程在占用着CPU 0,并且对CPU 0的使用率为100%,还是system消耗了 CPU 0 100%的cpu mpstat -P ALL 1信息 使用ps 命令查看该进程中线程的cpu消耗情况 ps -mp 12186 -o THREAD,ti阅读全文

posted @ 2019-03-27 21:44 Jia-Xin 阅读(139) 评论(0) 编辑

导航

公告