關閉mysql有很多方法,但是如何安全、緩和的關閉mysql不是每個人都知道的,下面
聯動北方
來總結一下mysql的幾種關閉方式和注意事項
關閉過程:
1、發起shutdown,發出 sigterm訊號
2、有必要的話,新建乙個關閉執行緒(shutdown thread)
3、mysql server不再響應新的連線請求
4、逐漸關閉當前的連線、事務
5、mysql server程序關閉所有執行緒,關閉所有儲存引擎;
6、mysql server程序退出
關於kill指令
從5.0開始,kill 支援指定 connection | query兩種可選項:
kill connection和原來的一樣,停止回滾事務,關閉該執行緒連線,釋放相關資源;
kill query則只停止執行緒當前提交執行的操作,其他的保持不變;
提交kill操作後,該執行緒上會設定乙個特殊的 kill標記位。通常需要一段時間後才能真正關閉執行緒,因為kill標記位只在特定的情況下才檢查:
1、執行select查詢時,在order by或group by迴圈中,每次讀完一些行記錄塊後會檢查 kill標記位,如果發現存在,該語句會終止;
2、執行alter table時,在從原始表中每讀取一些行記錄塊後會檢查 kill 標記位,如果發現存在,該語句會終止,刪除臨時表;
3、執行update和delete時,每讀取一些行記錄塊並且更新或刪除後會檢查 kill 標記位,如果發現存在,該語句會終止,回滾事務,若是在非事務表上的操作,則已發生變更的資料不會回滾;
4、get_lock() 函式返回null;
安全關閉mysql幾點建議
想要安全關閉 mysqld 服務程序,建議按照下面的步驟來進行:
0、用具有super、all等最高許可權的賬號連線mysql,最好是用 unix socket 方式連線;
1、在5.0及以上版本,設定innodb_fast_shutdown = 1,允許快速關閉innodb(不進行full purge、insert buffer merge),如果是為了公升級或者降級mysql版本,則不要設定;
2、設定innodb_max_dirty_pages_pct = 0,讓innodb把所有髒頁都重新整理到磁碟中去;
3、設定max_connections和max_user_connections為1,也就最後除了自己當前的連線外,不允許再有新的連線建立;
4、關閉所有不活躍的執行緒,也就是狀態為sleep 且 time 大於 1 的執行緒id;
mysql解除安裝注意事項
由於資料庫軟體十分的複雜,不管是mysql還是sqlserver安裝都有很多配置要選擇。假若你第一次安裝資料庫失敗,然後又想解除安裝,又再次安裝,這時可能由於你第一次的解除安裝不完全,會導致你第二次安裝時出現錯誤 比如說安裝進度停在一處,不動了 這是因為安裝路徑上殘留上次安裝的檔案,再一次安裝時會衝...
mysql索引注意事項
在查詢條件中必須有復合索引還中最左側的列 在建立多列索引時,要根據業務需求,where子句中使用最頻繁的一列放在最左邊 假設你在表的state city和zip資料列上建立了復合索引。索引中的資料行按照state city zip次序排列,因此它們也會自動地按照state city和state次序排...
mysql索引注意事項
1.模糊查詢前導不會走索引 select id,user name,price code from user activity info where user name like zhang 如果非要使用前導索引的話可以借助apache的lucence索引工具 2.欄位預設值不要設定成null 如果...