2019年5月26日

Linux 性能优化解析

摘要: 前情概述 进程调度 老板 cpu 任劳任怨的打工仔 线程 工作在做什么 可运行队列 拥有的工作清单 上下文切换 和老板沟通以便得到老板的想法并及时调整自己的工作 中断 部分工作做完以后还需要及时向老板汇报 谁在消耗cpu 用户 vs 内核 库时间 vs 应用程序时间 IO等待(cpu实际上空闲) 优 阅读全文

posted @ 2019-05-26 22:49 jiaxin666 阅读(1158) 评论(0) 推荐(0) 编辑

2019年5月19日

MySQL 加锁和死锁解析

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

posted @ 2019-05-19 22:14 jiaxin666 阅读(1999) 评论(0) 推荐(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 jiaxin666 阅读(3222) 评论(0) 推荐(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 jiaxin666 阅读(2135) 评论(0) 推荐(0) 编辑

2019年5月7日

MySQL 上亿大表优化实践

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

posted @ 2019-05-07 21:51 jiaxin666 阅读(6650) 评论(9) 推荐(12) 编辑

2019年4月26日

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

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

posted @ 2019-04-26 08:25 jiaxin666 阅读(5693) 评论(0) 推荐(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 jiaxin666 阅读(351) 评论(0) 推荐(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 jiaxin666 阅读(738) 评论(0) 推荐(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 jiaxin666 阅读(1933) 评论(0) 推荐(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 jiaxin666 阅读(447) 评论(0) 推荐(0) 编辑

导航