【數據庫使用】數據庫的關閉方法


 

 

背景

搭建了mysql的主從環境,然后在從上面kill -9殺死了mysql進程。之后在slave上面重啟mysql服務,端口起來后無法登陸數據庫。過了好一會才能登陸上去。

查看mysql.err錯誤日志發現如下信息

2020-04-22T10:27:16.091165Z 0 [Note] InnoDB: Doing recovery: scanned up to log sequence number 78607991370

之后打印

[Note] InnoDB: Database was not shutdown normally!

[Note] InnoDB: Starting crash recovery.

提示說mysql沒有正常關閉。那么怎么才算正常關閉呢,正常關閉和非正常關閉有啥區別呢?

帶着這些疑問,去查一下資料。

 

資料

(1)mysql正常關閉方法: bin/mysqladmin   -u ${user} -p ${password}  -S  ${mysql.sock}  shutdown  

舉例:

/kingdb/usr/local/nestdb_master/bin/mysqladmin -uroot -p123456 -S /kingdb/usr/local/nestdb_master/tmp/mysql.sock shutdown 

查看mysql.err日志,發現記錄了shutdown之后都干了什么事:

[Note] Giving 0 client threads a chance to die gracefully    ---gracefully,應該就表示是溫和不失禮貌的關閉方式

Shutting down slave threads

Forcefully disconnecting 0 remaining clients

Binlog end

Shutting down plugin 'ngram'   

InnoDB: FTS optimize thread exiting.

InnoDB: Starting shutdown...

InnoDB: Dumping buffer pool(s) to /kingdb/usr/local/nestdb_master/var/ib_buffer_pool

InnoDB: Buffer pool(s) dump completed at 200422 20:59:40

InnoDB: shut down release done

InnoDB: shut down all bg threads

[Warning] InnoDB: Some (1) threads are still active

[Note] InnoDB: Shutdown completed; log sequence number 4522278

[Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"

[Note] Shutting down plugin 'binlog'

[Note] /kingdb/usr/local/nestdb_master/bin/mysqld: Shutdown complete

上面的日志,大致看出流程為: 關閉插件-->dumping buffer pool--->殺掉進程--->刪掉了臨時表空間文件ibtmp1---->關閉binlog插件等

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM