1、檢視當前伺服器配置的最多連線數
-- 檢視當前伺服器配置的最多連線數
show variables like 'max_connections';
#設定方法:
set global max_connections=10000;
2、檢視當前已使用最大連線數
show global status like '%max_used_connections%';
3、檢視最大連線數,應該是與上面查詢到的連線數相同,才會出現too many connections的情況
show global variables like 'wait_timeout';
#設定方法:
set global wait_timeout=300;
show global variables like 'interactive_timeout';
#設定方法:
set global interactive_timeout=500;
4、檢視連線數,可以發現有很多連線處於sleep狀態,這些其實是暫時沒有用的,所以可以kill掉。檢視程序狀態,通過此命令可以檢視哪些sql在等待鎖
show full processlist;
5、kill之前沒用的sleep連線
kill id;
6、檢視正在被鎖定的的表
show status like 'table%';
-- table_locks_immediate 指的是能夠立即獲得表級鎖的次數
-- table_locks_waited 指的是不能立即獲取表級鎖而需要等待的次數
-- table_locks_waited/table_locks_immediate=0.3% 如果這個比值比較大的話,說明表鎖造成的阻塞比較嚴重
show open tables where in_use > 0;
-- 檢視哪些表在使用中,in_use列表示有多少執行緒正在使用某張表,name_locked表示表名是否被鎖,這一般發生在drop或rename命令操作這張表時。
show status like '%lock%';
-- 如當table_locks_waited與table_locks_immediate的比值較大,則說明我們的表鎖造成的阻塞比較嚴重,可能需要調整query語句,或者更改儲存引擎,亦或者需要調整業務邏輯。
-- innodb_row_lock_waits較大,則說明innodb的行鎖也比較嚴重,原因可能是query語句所利用的索引不夠合理(innodb行鎖是基於索引來鎖定的),造成間隙鎖過大。
7、qps(每秒query量) qps = questions(or queries) / seconds
show global status like 'question%';
8、tps(每秒事務量)
show global status like 'com_commit';
show global status like 'com_rollback';
9、檢視當前伺服器最大開啟檔案數
show variables like 'open%';
-- open_files系統當前開啟的檔案數
-- opened_files系統開啟過的檔案總數
show global status like 'open%file%';
10、修復mysql服務最大開啟檔案數
#檢視linux系統最大開啟檔案數限制:
ulimit -n
65535
#設定65535最大開啟檔案數,配置檔案/etc/security/limit.conf,追加:
* soft nofile 65535
* hard nofile 65535
#mysql服務配置檔案/lib/systemd/system/mysqld.service,最後追加:
limitnofile=65535
limitmemlock=65535
#然後執行以下命令重啟mysql
systemctl daemon-reload
systemctl restart mysqld.service
mysql優化問題彙總
sql優化 分割槽 分表 垂直分庫 水平分庫 讀寫分離 進入到mysql命令列。mysql u root p show plugins 檢視是否支援分割槽,最後會出現乙個 partition 這個行 表示支援 也可以 show variables like partition show table ...
MySQL 命令彙總
以下收錄有關mysql各種常用命令,不定期更新。1.開啟關閉mysql服務 在windows下開啟mysql服務 通過cmd進入命令列介面,輸入net start 你的mysql服務名,如 net start mysql 或 net start mysql57 其命令格式為 net start 服務...
mysql 查詢優化案例彙總
一 簡介 此文章為經歷過的sql案例集合和相關思路 二 案例1 現象 測試環境出現select語句,join2張表多次join,explain結果如下 出現 using where,using join buffer block nested loop 思路分析 bnl 5.6優化,首先就看連線字段...