mysql資料庫超時
阿新 • • 發佈:2018-12-27
1.改配置:
修改mysql安裝目錄下的my.ini內部的引數:
永久有效,但修改檔案後需要重啟服務
table_cache=180 //表的快取大小,快取記錄在記憶體中,讀取快
max_connections=100 //資料庫最大連線數。連結數不夠會超時
MySQL檢視最大連線數和修改最大連線數
只在mysql當前服務程序有效,一旦mysql重啟,又會恢復到初始狀態
檢視最大連線數 show variables like '%max_connections%'; 修改最大連線數 set GLOBAL max_connections = 200;
2.重啟mysql
- 在服務列表中重啟。
- CMD下停止:net stop mysql
(其中mysql為你安裝的mysql服務名稱)
啟動:net start mysql
3.死鎖導致的超時
方式一:
1.查詢是否鎖表
show OPEN TABLES where In_use > 0;
2.查詢程序(如果您有SUPER許可權,您可以看到所有執行緒。否則,您只能看到您自己的執行緒)
show processlist
3.殺死程序id(就是上面命令的id列)
kill id
方式二:
1.檢視下在鎖的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
2.殺死程序id(就是上面命令的trx_mysql_thread_id列)
kill 執行緒ID
其它關於檢視死鎖的命令:
1:檢視當前的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
2:檢視當前鎖定的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
3:檢視當前等鎖的事務
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;