首页 >

mysql怎么看死锁日志 |mysql顺序

mysql进入installer,mysql中删除文件,mysql 库同步个别表,mysql怎么撤销上次操作,mysqlsh –sql登录mysql,mysql顺序mysql怎么看死锁日志 |mysql顺序

死锁是指两个或多个进程在执行过程中,因争夺资源而造成的互相等待的状况,若无外力作用,他们都将无法向前推进。

如何查看MySQL的死锁日志?

MySQL提供了两种方式来查看死锁日志:

方法一:

在my.cnf配置文件中将log-warnings参数的值设定为2或更高。这将在错误日志(error log)中,记录每个被杀掉的线程,以及原因(包括死锁):

[mysqld] log-warnings=2

方法二:

在执行show engine innodb status语句后,可以查看到InnoDB存储引擎的状态,其中包括死锁日志的信息。

如何解析MySQL的死锁日志?

MySQL的死锁日志类似于以下格式:

------------------------ LATEST DETECTED DEADLOCK ------------------------ 2021-11-09 17:28:00 0x7f4595981700 *** (1) TRANSACTION: TRANSACTION 558615115, ACTIVE 24 sec starting index read mysql tables in use 1, locked 1 LOCK WAIT 302 lock struct(s), heap size 17808, 12271392 row lock(s), undo log entries 12221141 *** (1) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 9869 page no 1068607 n bits 616 index PRIMARY of table `database_name`.`table_name` trx id 558615115 lock_mode X lock hold time 9 wait time before grant 140 . . . ------------------------

其中,最近检测到的死锁信息以*****开头和结尾,下面是该死锁所涉及的事务的信息,包括事务ID、事务状态、加锁的表、等待的锁、以及Holding该锁的事务的ID和状态,等待超时时间(wait time before grant)。

解析死锁日志的方法基本上就是理解这些信息并最终确定哪些事务被终止以及为什么。


mysql怎么看死锁日志 |mysql顺序
  • 如何查看和设置MySQL账户权限并重置密码 |mysql重复的化删除数据
  • 如何查看和设置MySQL账户权限并重置密码 |mysql重复的化删除数据 | 如何查看和设置MySQL账户权限并重置密码 |mysql重复的化删除数据 ...

    mysql怎么看死锁日志 |mysql顺序
  • mysql并发修改一条记录 |mysql 上一条记录
  • mysql并发修改一条记录 |mysql 上一条记录 | mysql并发修改一条记录 |mysql 上一条记录 ...

    mysql怎么看死锁日志 |mysql顺序
  • idea mysql连接库版本太高 |mysql to redis
  • idea mysql连接库版本太高 |mysql to redis | idea mysql连接库版本太高 |mysql to redis ...