注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

MySQL Shutdown异常处理和分析

先了解一下MySQL的shutdown流程 1、启动关机过程。 2、如有必要,服务器创建一个关闭线程。 3、服务器将停止接受新连接。 4、服务器终止当前的活动。 5、服务器关机或关闭存储引擎。 6、在服务器退出。 以上只是官方文档中介绍的一些基本的关机流程,正确的关机命令当然是mysqladmin -xx shutdown。接下来,我们来关注一下我们的问题。……继续阅读 »

彭东稳 3个月前 (01-22) 721浏览 0评论 0个赞

MySQL误操作回滚工具概览

目前针对MySQL误操作回滚,在市场上已经有很多工具可够选择了。大致实现思路都是根据ROW格式binlog进行回滚,基本都是支持DML操作。大致相关工具与文章下面都列出来了。 [1] 彭立勋,MySQL下实现闪回的设计思路 [2] Lixun Peng, Provide the flashback feature by binlog [3] 王广友,mysq……继续阅读 »

彭东稳 6个月前 (10-19) 1860浏览 0评论 2个赞

MySQL表排序规则不同错误

MySQL多表join时报错如下:[Err]1267 – Illegal mix of collations(utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘= 就是说两个表的排序规则(COLLATION)不同,无法完成比较。COLLATION是用在排……继续阅读 »

彭东稳 7个月前 (09-26) 1424浏览 0评论 1个赞

两个INSERT发生死锁原因剖析

开始之前,关于锁、死锁,我们要先统一下几点认知: 死锁是由于多个事务相互持有其他事务所需要的锁,结果导致事务都无法继续,进而触发死锁检测,其中某个事务会被回滚,释放相应的锁,其他事务得以正常继续;简言之,就是多个事务之间的锁等待产生了回路,死循环了; 死锁发生时,会立刻被检测到,并且回滚其中某个事务,而不会长时间阻塞、等待; 从MySQL 5.7.15开始……继续阅读 »

彭东稳 8个月前 (09-05) 2450浏览 2评论 2个赞

MySQL主机CPU负载太高解决思路

首先考虑,CPU为什么会占用过高?答案是CPU很忙,那么什么会导致CPU很忙呢? 1. 频繁的上下文切换 2. 计算量巨大 3. 磁盘访问等待严重 4. 死循环 5. 等等,还有我不知道的 遵循上面的分析,可以推导,在MySQL服务器上,如果看到CPU过高,该怎么解决问题? 频繁的上下文切换包括:锁很多,等待处理的线程特别多。这种情况在MySQL服务器上该如……继续阅读 »

彭东稳 8个月前 (09-01) 1741浏览 0评论 1个赞

针对SSD的MySQL IO优化

现在数据库标配基本都是SSD了,在使用SSD之前,对SSD进行了充分的测试,这其中当然包括最为关键的性能测试部分。下面就跟大家分享一下在SSD性能测试过程中遇到的一个问题和解决问题的思路。 我们的性能测试使用的测试工具是Sysbench,测试场景主要包括5类:全内存非事务更新(nontrx)、全内存事务更新(complex)、非全内存查询(select)、非……继续阅读 »

彭东稳 8个月前 (08-24) 2112浏览 2评论 1个赞

MySQL备份工具Xtrabackup锁问题(三)

从XtraBackup的备份过程可以看出,XtraBackup可以实现Innodb表的无锁备份,但是一个数据库中,即使所有的业务表都是innodb表,但是还存在一些MySQL系统库下的user表等,均是myisam表(MySQL 8.0均替换为InnoDB),同时备份过程需要获取Binlog文件名和位置,也要保证表定义文件的一致性,所以从整个实例的角度,即使……继续阅读 »

彭东稳 8个月前 (08-22) 2519浏览 1评论 3个赞

HugePage是否是拯救性能的万能良药?

准备知识 在阅读本文之前,需要读者至少了解以下基础知识 CPU Cache的基本概念,具体可参见 关于CPU Cache – 程序猿需要知道的那些事。 NUMA的基本概念,具体可参见博客之前的科普介绍。 目前Linux基于多核CPU繁忙程度的线程调度机制,参看Chip Multi Processing aware Linux Kernel Schedule……继续阅读 »

彭东稳 12个月前 (05-06) 3197浏览 1评论 1个赞