系统吧 专业的电脑操作系统,支持重装各种原版系统xp/win7/win8/win10 这个系统怎么样?试试系统吧系统,体验办公系统畅快愉悦感。 各种电脑系统安装过程一样,神一般的畅快!
-->
当前位置:主页 > win10 >

MySQL死锁检查处理的正常方法(6)

作者:孙紫潇 分类:win10 发布时间:2021-07-25 09:32:00

?1234567891011121314151617181920212223242526272829303132 #死锁记录只记录最近一个死锁信息,若要将每个死锁信息都保存到错误日志,启用以下参数: mysql> show variab...

?1234567891011121314151617181920212223242526272829303132#死锁记录只记录最近一个死锁信息,若要将每个死锁信息都保存到错误日志,启用以下参数:mysql> show variables like 'innodb_print_all_deadlocks';+----------------------------+-------+| Variable_name    | Value |+----------------------------+-------+| innodb_print_all_deadlocks | OFF |+----------------------------+-------+    #上面 【step 3:窗口一】若一直请求不到资源,默认50秒则出现锁等待超时。mysql> show variables like 'innodb_lock_wait_timeout'; +--------------------------+-------+| Variable_name   | Value |+--------------------------+-------+| innodb_lock_wait_timeout | 50 |+--------------------------+-------+  ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction    #设置全局变量 锁等待超时为60秒(新的连接生效)#mysql> set session innodb_lock_wait_timeout=50; mysql> set global innodb_lock_wait_timeout=60;     #上面测试中,当事务中的某个语句超时只回滚该语句,事务的完整性属于被破坏了。为了回滚这个事务,启用以下参数:mysql> show variables like 'innodb_rollback_on_timeout';+----------------------------+-------+| Variable_name    | Value |+----------------------------+-------+| innodb_rollback_on_timeout | OFF |+----------------------------+-------+

最终参数设置如下:(重启服务重新连接测试)

?12345[mysqld]log-error =/var/log/mysqld3306.loginnodb_lock_wait_timeout=60  #锁请求超时时间(秒)innodb_rollback_on_timeout = 1 #事务中某个语句锁请求超时将回滚真个事务innodb_print_all_deadlocks = 1 #死锁都保存到错误日志