MySQL 5.7鎖的問題一例
今天晚上突然接到開發人員電話,說在查詢一個表的時候無法返回結果,也就是hang住了,表名為oms_bdreturn_ref
我首先登入系統查了下日誌,沒有報錯。
接著查詢鎖的情況
檢視程式的情況
有個程式是Opening tables狀態,並且持續了1276秒了。
詢問開發人員得知,oms_bdreturn_ref表是剛建立的,查了下建立時間
結合程式的time指標來看,問題是在建立這個表的同時,有人執行了show session語句,導致了這次的opening tables,kill 掉2274002程式後,恢復正常。
補充兩個關於鎖的語句:
檢視正在鎖的事務
檢視等待鎖的事務
我首先登入系統查了下日誌,沒有報錯。
接著查詢鎖的情況
-
mysql> show OPEN TABLES where In_use > 0;
-
+----------+------------------------+--------+-------------+
-
| Database | Table | In_use | Name_locked |
-
+----------+------------------------+--------+-------------+
-
| cus_0042 | stat_staff_follow_week | 1 | 0 |
-
| cus_0042 | oms_bdreturn_ref | 1 | 0 |
-
+----------+------------------------+--------+-------------+
- 2 rows in set (0.00 sec)
檢視程式的情況
-
mysql> show processlist;
-
+---------+---------+--------------------+----------+------------------+--------+---------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
-
| Id | User | Host | db | Command | Time | State | Info |
-
+---------+---------+--------------------+----------+------------------+--------+---------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
-
| 21554 | repl | 192.168.2.73:52166 | NULL | Binlog Dump GTID | 271766 | Master has sent all binlog to slave; waiting for more updates | NULL |
-
| 27523 | repl | 192.168.2.72:51656 | NULL | Binlog Dump GTID | 266405 | Master has sent all binlog to slave; waiting for more updates | NULL |
-
| 2214658 | root | localhost | cus_0042 | Query | 0 | starting | show processlist |
- | 2274002 | xxoms | 192.168.2.44:49516 | cus_0042 | Query | 1276 | Opening tables | SHOW SESSION VARIABLES LIKE 'FOREIGN_KEY_CHECKS' |
有個程式是Opening tables狀態,並且持續了1276秒了。
詢問開發人員得知,oms_bdreturn_ref表是剛建立的,查了下建立時間
-
mysql> select CREATE_TIME from INFORMATION_SCHEMA.TABLES where TABLE_NAME='oms_bdreturn_ref';
-
+---------------------+
-
| CREATE_TIME |
-
+---------------------+
-
| 2017-12-05 18:25:09 |
-
+---------------------+
- 1 row in set (0.00 sec)
結合程式的time指標來看,問題是在建立這個表的同時,有人執行了show session語句,導致了這次的opening tables,kill 掉2274002程式後,恢復正常。
補充兩個關於鎖的語句:
檢視正在鎖的事務
- SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
- SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20893244/viewspace-2148373/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL:死鎖一例MySql
- MySQL5.7:PageCleaner的刷髒問題MySql
- MySQL死鎖問題MySql
- 測試MySQL鎖的問題MySql
- Oracle死鎖一例(ORA-00060),鎖表導致的業務死鎖問題Oracle
- MySQL 死鎖問題分析MySql
- MySQL 5.7 查詢InnoDB鎖表MySql
- MySQL鎖問題分析-全域性讀鎖MySql
- MySQL鎖等待與死鎖問題分析MySql
- MySQL運維實戰系列:MySQL5.7GroupBy問題MySql運維
- mysql5.7安裝及問題處理MySql
- MySql5.7及以上 ORDER BY 報錯問題MySql
- MySQL中鎖的相關問題DTQUMySql
- mysql insert into ... select的鎖問題MySql
- 一個MySQL死鎖問題的反思MySql
- MySQL:MySQL工具以及5.7mysqlbinlog|mysql速度極慢問題MySql
- mysql 5.7sql_mode=only_full_group_by問題MySql
- MySQL5.7原始碼安裝問題彙總MySql原始碼
- MySQL死鎖系列-線上死鎖問題排查思路MySql
- 一個MySQL死鎖問題的復現MySql
- MySQL主從複製問題解決一例MySql
- 【Mysql】記一次鎖問題MySql
- 升級到MySQL5.7版本需注意的問題MySql
- MySQL鎖表相關問題查詢思路MySql
- 故障分析 | MySQL鎖等待超時一例分析MySql
- MySQL5.7 JSON型別列建立索引查詢一例MySqlJSON型別索引
- MySQL 5.7 初始密碼和密碼複雜度問題MySql密碼複雜度
- MySQL實際應用中遇到的鎖問題薦MySql
- 在Linux中,mysql的innodb如何定位鎖問題?LinuxMySql
- Mysql(MyISAM)的讀寫互斥鎖問題的解決方法MySql
- Mysql使用kill命令解決死鎖問題MySql
- MySQL5.5加主鍵鎖讀問題MySql
- mysql innodb 索引失效問題引起表級鎖MySql索引
- MySQL 5.7 Window安裝手冊以及問題方案解決大全MySql
- DRM引起的問題解決一例
- Laravel5.7 查詢問題Laravel
- MYSQL 5.7 升級 8.0 後的 由於字符集導致的大問題 ?MySql
- oracle 解鎖的問題Oracle