在資料庫繁忙時如何快速有效的關閉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資料庫
- 在Linux平臺下啟動和關閉MySQL服務LinuxMySql
- 2.8.1.1 關於資料庫服務資料庫
- Mysql 5.5 資料庫啟動關閉命令MySql資料庫
- Oracle10g RAC (ASM) 資料庫及服務開啟關閉OracleASM資料庫
- 菜鳥學資料庫(六)——方便快捷的開啟、關閉Oracle服務資料庫Oracle
- 在關閉資料庫時遇到 waiting for active calls to complete資料庫AI
- 資料庫繁忙程度監控資料庫
- 資料庫關閉資料庫
- 在linux上關閉不必要的服務加快啟動時間Linux
- 【指令碼】快速啟動和關閉Windows上的資料庫指令碼Windows資料庫
- MYSQL資料庫服務無法啟動MySql資料庫
- MySQL服務開啟關閉及登陸- 2MySql
- TableStore實時資料通道服務GoSDK快速入門Go
- 如何以最快方式乾淨的關閉資料庫?資料庫
- 恢復之資料庫關閉時的完全恢復資料庫
- Win10系統如何關閉音訊服務_Win10關閉音訊服務的步驟Win10音訊
- Defender服務怎麼關閉?Windows系統關閉defender服務的操作步驟Windows
- linux的crontab定時服務備份mysql資料LinuxMySql
- MySQL資料庫與Nacos搭建監控服務MySql資料庫
- 3.3.1 關於關閉資料庫資料庫
- MySql 獲取服務提供的sakila資料庫(Example Databases)MySql資料庫Database
- 在 Windows 平臺下安裝與配置 MySQL 5.7.36之啟動與關閉MySQL服務WindowsMySql
- oracle關閉資料庫時沒反應的處理案例Oracle資料庫
- windows10系統如何關閉iis服務Windows
- Unity平臺 | 快速整合華為AGC雲資料庫服務UnityGC資料庫
- 安全關閉Oracle資料庫Oracle資料庫
- Win10系統關閉時間同步服務的方法Win10
- oracle資料庫的關閉過程Oracle資料庫
- 資料庫關閉的學問 (轉)資料庫
- 2.8.1 資料庫服務資料庫
- 如何微調:關注有效的資料集!
- QianBase MPP資料庫:如何基於圖形化OM服務快速部署資料庫
- Windows關閉Microsoft Defender服務WindowsROS
- MySQL(二):快速理解MySQL資料庫索引MySql資料庫索引
- 3.1.3 關於資料庫服務自動啟動資料庫
- 阿里分散式資料庫服務相關介紹阿里分散式資料庫
- win10怎麼關閉系統服務_win10關閉系統服務的方法Win10