10 2018 档案

摘要:【问题】 假设有这种场景,误操作DROP DB或TABLE,常规的恢复操作是还原全备份,并用mysqlbinlog追加到drop操作前的位置。 如果需要恢复的binlog的日志量比较大而我们只希望恢复某个DB或某张表,常规操作会花费较长的时间。 在网上看到了借助SQL Thread来应用binlog 阅读全文
posted @ 2018-10-25 18:33 wangdong 阅读(988) 评论(1) 推荐(0)
摘要:【问题】 有一台MySQL5.6.21的服务器发生OOM,分析下来与多种因素有关 【分析过程】 1、服务器物理内存相对热点数据文件偏小,62G物理内存+8G的SWAP,数据文件大小约550G 触发OOM是binlog备份的cp进程 2、mysqld实际使用物理内存远大于innodb_buffer_p 阅读全文
posted @ 2018-10-25 16:36 wangdong 阅读(1692) 评论(0) 推荐(0)
摘要:【SWAP产生原理】 先从swap产生的原理来分析,由于linux内存管理比较复杂,下面以问答的方式列了一些重要的点,方便大家理解: 1、swap是如何产生的 swap指的是一个交换分区或文件,主要是在内存使用存在压力时,触发内存回收,这时可能会将部分内存的数据交换到swap空间。 2、内存回收的机 阅读全文
posted @ 2018-10-23 13:27 wangdong 阅读(2551) 评论(0) 推荐(0)
摘要:CentOS 7默认安装MySQL5.7.23,服务管理发生了变化,从sysvinit(service mysql start)变化为systemd(systemctl start mysqld.service) 最近测试了下MySQL5.7.23的服务管理参数,测试主要涉及Restart ,Res 阅读全文
posted @ 2018-10-22 10:11 wangdong 阅读(745) 评论(0) 推荐(0)
摘要:【问题】 有台MySQL 5.6.21的数据库实例以写入为主,IO %util接近100% 写入IOPS很高 【分析过程】 1、通过iotop工具可以看到当前IO消耗最高的mysql线程 2、查看线程49342的堆栈,可以看到正在进行redo log的刷新,对应的是9号文件 3、9号文件对应的是re 阅读全文
posted @ 2018-10-19 10:33 wangdong 阅读(3724) 评论(5) 推荐(9)
摘要:GTID(global transaction identifier)是对于一个已提交事务的全局唯一编号,前一部分是server_uuid,后面一部分是执行事务的唯一标志,通常是自增的。 下表整理了GTID常用的查看命令,以及变量的描述及原理,供大家参考(以下基于MySQL5.7,对于MySQL5. 阅读全文
posted @ 2018-10-18 10:03 wangdong 阅读(2771) 评论(0) 推荐(2)
摘要:发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例 在我们环境下打开文件描述符个数的参数open_files_limit在MySQL 5.6.21下都统一配置为65535,而CentOS 7系统下安装MySQL5.7.23的open_file 阅读全文
posted @ 2018-10-17 18:10 wangdong 阅读(2210) 评论(0) 推荐(0)
摘要:【问题】 有台MySQL服务器不定时的会出现并发线程的告警,从记录信息来看,有大量insert的慢查询,执行几十秒,等待flushing log,状态query end 【初步分析】 从等待资源来看,大部分时间消耗在了innodb_log_file阶段,怀疑可能是磁盘问题导致,经过排查没有发现服务器 阅读全文
posted @ 2018-10-17 10:28 wangdong 阅读(6961) 评论(0) 推荐(0)
摘要:【问题】 最近有台服务器比较频繁的CPU报警,表现的特征有CPU sys占比偏高,大量慢查询,大量并发线程堆积。后面开发对insert的相关业务限流后,服务器性能恢复正常。 【异常期间线程处理情况】 下图是当时生产环境异常时抓取的信息,该事务正在执行insert,已经执行5秒,线程运行在innodb 阅读全文
posted @ 2018-10-15 15:20 wangdong 阅读(6398) 评论(0) 推荐(0)