MySQL中InnoDB锁不住表的原因

MySQL中InnoDB锁不住表是因为如下两个参数的设置:

mysql> show variables like '%timeout%';

+-----------------------------+----------+

| Variable_name               | Value    |

+-----------------------------+----------+

| connect_timeout             | 10       |

| delayed_insert_timeout      | 300      |

| innodb_flush_log_at_timeout | 1        |

| innodb_lock_wait_timeout    | 50       |

| innodb_rollback_on_timeout  | OFF      |

| interactive_timeout         | 1800     |  #默认是1800

| lock_wait_timeout           | 31536000 |

| net_read_timeout            | 30       |

| net_write_timeout           | 60       |

| rpl_stop_slave_timeout      | 31536000 |

| slave_net_timeout           | 3600     |

| wait_timeout                | 1800     |  #默认是1800

+-----------------------------+----------+

mysql> set  wait_timeout=60;  #修改参数

mysql> set interactive_timeout=60;

mysql> show variables like 'wait_timeout';

+--------------------------+----------+

| Variable_name            | Value    |

+--------------------------+----------+

| wait_timeout             | 60       |

+--------------------------+----------+

mysql> show variables like '%interactive_timeout%';

+---------------------+-------+

| Variable_name       | Value |

+---------------------+-------+

| interactive_timeout | 60    |

+---------------------+-------+

mysql> flush tables with read lock;  #锁表

mysql> unlock tables;  #解锁

作者:Cherry_梅 出处:http://www.cnblogs.com/itqingtian/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/itqingtian/p/9968006.html