在資料庫繁忙時如何快速有效的關閉MySQL服務
如果InnoDB_buffer_size引數很大,緩衝區內的髒資料太多,那麼關閉MySQL的時候
必須把髒資料重新整理到磁碟,這個過程有可能是很漫長的,從而導致關閉MySQL服務的時間過長。
可以臨時設定innodb_max_dirty_pages_pct=0,然後等到髒資料大部分都重新整理到磁碟後(透過檢視show engine innodb status命令輸出中的Modified db pages,這個值應該很小),再手動關閉資料庫。
方法1:
mysql>set global innodb_max_dirty_pages_pct=0;
Query OK, 0 rows affected (0.00 sec)
執行命令mysqladmin -uroot ext -i10 |grep dirty,檢查狀態變數值,等到它接近0的時候關閉它,如果是生產繁忙的系統,這個值可能會一直偏大,待innodb_max_dirty_pages的值很小時,就可以
用mysqladmin關閉MySQL了.
# mysqladmin -uroot ext -i10 |grep dirty
| Innodb_buffer_pool_pages_dirty | 0 |
| Innodb_buffer_pool_bytes_dirty | 0 |
| Innodb_buffer_pool_pages_dirty | 0 |
| Innodb_buffer_pool_bytes_dirty | 0
方法2:
mysql>set global innodb_fast_shutdown=2; 預設為1
Query OK, 0 rows affected (0.00 sec)
雖然這樣可以快速關閉mysql,但啟動時候需要執行更多的恢復操作.
Innodb_fast_shutdown三個值的含義:
Innodb_fast_shutdown告訴innodb在它關閉的時候該做什麼工作。有三個值可以選擇:
0表示在innodb關閉的時候,需要purge all, merge insert buffer,flush dirty pages。這是最慢的一種關閉方式,但是restart的時候也是最快的。後面將介紹purge all,merge insert buffer,flush dirty pages這三者的含義。
1表示在innodb關閉的時候,它不需要purge all,merge insert buffer,只需要flush dirty page。
2表示在innodb關閉的時候,它不需要purge all,merge insert buffer,也不進行flush dirty page,只將log buffer裡面的日誌flush到log files。因此等下進行恢復的時候它是最耗時的。
必須把髒資料重新整理到磁碟,這個過程有可能是很漫長的,從而導致關閉MySQL服務的時間過長。
可以臨時設定innodb_max_dirty_pages_pct=0,然後等到髒資料大部分都重新整理到磁碟後(透過檢視show engine innodb status命令輸出中的Modified db pages,這個值應該很小),再手動關閉資料庫。
方法1:
mysql>set global innodb_max_dirty_pages_pct=0;
Query OK, 0 rows affected (0.00 sec)
執行命令mysqladmin -uroot ext -i10 |grep dirty,檢查狀態變數值,等到它接近0的時候關閉它,如果是生產繁忙的系統,這個值可能會一直偏大,待innodb_max_dirty_pages的值很小時,就可以
用mysqladmin關閉MySQL了.
# mysqladmin -uroot ext -i10 |grep dirty
| Innodb_buffer_pool_pages_dirty | 0 |
| Innodb_buffer_pool_bytes_dirty | 0 |
| Innodb_buffer_pool_pages_dirty | 0 |
| Innodb_buffer_pool_bytes_dirty | 0
方法2:
mysql>set global innodb_fast_shutdown=2; 預設為1
Query OK, 0 rows affected (0.00 sec)
雖然這樣可以快速關閉mysql,但啟動時候需要執行更多的恢復操作.
Innodb_fast_shutdown三個值的含義:
Innodb_fast_shutdown告訴innodb在它關閉的時候該做什麼工作。有三個值可以選擇:
0表示在innodb關閉的時候,需要purge all, merge insert buffer,flush dirty pages。這是最慢的一種關閉方式,但是restart的時候也是最快的。後面將介紹purge all,merge insert buffer,flush dirty pages這三者的含義。
1表示在innodb關閉的時候,它不需要purge all,merge insert buffer,只需要flush dirty page。
2表示在innodb關閉的時候,它不需要purge all,merge insert buffer,也不進行flush dirty page,只將log buffer裡面的日誌flush到log files。因此等下進行恢復的時候它是最耗時的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-2152998/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle資料庫的啟動關閉與各種服務Oracle資料庫
- 資料庫繁忙程度監控資料庫
- 2.8.1.1 關於資料庫服務資料庫
- MYSQL資料庫服務無法啟動MySql資料庫
- 3.3.1 關於關閉資料庫資料庫
- QianBase MPP資料庫:如何基於圖形化OM服務快速部署資料庫
- MySQL資料庫與Nacos搭建監控服務MySql資料庫
- Win10系統如何關閉音訊服務_Win10關閉音訊服務的步驟Win10音訊
- 在 Windows 平臺下安裝與配置 MySQL 5.7.36之啟動與關閉MySQL服務WindowsMySql
- TableStore實時資料通道服務GoSDK快速入門Go
- MySQL(二):快速理解MySQL資料庫索引MySql資料庫索引
- Defender服務怎麼關閉?Windows系統關閉defender服務的操作步驟Windows
- Centos系統關閉Mysql資料庫查詢操作日誌的方法CentOSMySql資料庫
- 如何微調:關注有效的資料集!
- mongodb關閉資料庫例項MongoDB資料庫
- Win10系統關閉時間同步服務的方法Win10
- windows10系統如何關閉iis服務Windows
- 2.8.1 資料庫服務資料庫
- LevelDB C++教程: 如何開啟和關閉資料庫C++資料庫
- 【mysql】關於連線mysql資料庫時出現的時區錯誤time zoneMySql資料庫
- MySQL多例項使用mysqld_multi stop 無法關閉資料庫MySql資料庫
- 如何在使用者重新整理、跳轉、關閉瀏覽器時向服務端傳送統計的資料?瀏覽器服務端
- 3.1.3 關於資料庫服務自動啟動資料庫
- 阿里分散式資料庫服務相關介紹阿里分散式資料庫
- 啟動與關閉服務
- Windows關閉Microsoft Defender服務WindowsROS
- Unity平臺 | 快速整合華為AGC雲資料庫服務UnityGC資料庫
- 3.3.3 使用immiedit模式關閉資料庫模式資料庫
- win10怎麼關閉系統服務_win10關閉系統服務的方法Win10
- win10 1909系統如何關閉定位服務Win10
- 在MySQL中,如何獲取資料庫下所有表的資料行數?MySql資料庫
- vmware虛擬的ubuntu18.04當機,嘗試關閉時關機報“虛擬機器xxx繁忙”Ubuntu虛擬機
- 時序資料庫的秘密 —— 快速檢索資料庫
- 2.8.1.4 建立資料庫服務資料庫
- 2.8.3 資料庫服務的資料字典檢視資料庫
- 100萬資料,如何快速的匯入資料庫?資料庫
- db2資料庫的啟動和關閉DB2資料庫
- [20210722]資料庫異常關閉的處理.txt資料庫