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

标签:MySQL FAQ

MySQL FAQ

两个INSERT发生死锁原因剖析

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

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

MySQL FAQ

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

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

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

MySQL

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

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

彭东稳 2个月前 (08-22) 534浏览 0评论 1个赞

MySQL FAQ

为什么磁盘慢会导致Linux负载飙升?

一、CPU利用率和负载率的区别 这里要区别CPU负载和CPU利用率,它们是不同的两个概念,但它们的信息可以在同一个top命令中进行显示。CPU利用率显示的是程序在运行期间实时占用的CPU百分比,这是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况, 如果被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作。而……继续阅读 »

彭东稳 2个月前 (08-10) 840浏览 0评论 1个赞

MySQL FAQ

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

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

彭东稳 6个月前 (05-06) 1370浏览 0评论 1个赞

MySQL FAQ

MySQL表空间传输

在MySQL中如果要迁移一个表导另外一个服务器/环境中,常规的做法就是使用备份工具备份,比如mysqldump/mysqlpump/mydumper,然后拷贝备份到目标服务器或者环境导入。如果某一个表数据量很大,导出dump文件很大的情况下,使用导出导入工具其实会花费不少的时间。 怎么样提高效率呢,可以有一种想法就是直接拷贝数据文件到目标环境,当然在早期版本……继续阅读 »

彭东稳 6个月前 (04-26) 968浏览 0评论 1个赞

MySQL

MySQL 5.7默认SQL模式带来的问题总结

在使用MySQL 5.7版本时,已经碰到了两起因为SQL_MODE的改变而导致的问题了,究其原因都是因为MySQL 5.7控制的更加严格了,所以在MySQL 5.6或MySQL 5.5有些SQL语句就无法在MySQL 5.7执行了(会给开发带来一个很诡异的问题,就是代码一样、环境一样、SQL一样、测试跟正式怎么就报错呢?)。 说一下我碰到的两起事件: 1、某……继续阅读 »

彭东稳 7个月前 (03-30) 2270浏览 3评论 2个赞