国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

安全地關閉MySQL服務的教程

2024-07-24 12:45:23
字體:
來源:轉載
供稿:網(wǎng)友

普通關閉
我的mysql是自己下載的tar包,自己設定安裝目錄來安裝的。

停止mysql服務,說來簡單,但不知道的話,還真是撓頭。在這和mysql入門的同學們共享:)

正確方法是,進入mysql的bin目錄下,然后執(zhí)行

./mysqladmin -uroot -p shutdown

然后輸入你的密碼就可以了。

ps:當然,如果你的root沒有密碼,就不需要-p選項嘍。

ps:有人問啟動的方法,正確的啟動方法是:進入mysql的bin目錄,然后nohup ./mysqld_safe &就可以了。

安全地關閉MySQL實例
關閉過程:

1、發(fā)起shutdown,發(fā)出  SIGTERM信號
2、有必要的話,新建一個關閉線程(shutdown thread)
如果是客戶端發(fā)起的關閉,則會新建一個專用的關閉線程

如果是直接收到 SIGTERM 信號進行關閉的話,專門負責信號處理的線程就會負責關閉工作,或者新建一個獨立的線程負責這個事

當無法創(chuàng)建獨立的關閉線程時(例如內(nèi)存不足),MySQL Server會發(fā)出類似下面的告警信息:

Error: Can't create thread to kill server

3、MySQL Server不再響應新的連接請求
關閉TCP/IP網(wǎng)絡監(jiān)聽,關閉Unix Socket等渠道

4、逐漸關閉當前的連接、事務
空閑連接,將立刻被終止;

當前還有事務、SQL活動的連接,會將其標識為 killed,并定期檢查其狀態(tài),以便下次檢查時將其關閉;(參考 KILL 語法)

當前有活躍事務的,該事物會被回滾,如果該事務中還修改了非事務表,則已經(jīng)修改的數(shù)據(jù)無法回滾,可能只會完成部分變更;

如果是Master/Slave復制場景里的Master,則對復制線程的處理過程和普通線程也是一樣的;

如果是Master/Slave復制場景里的Slave,則會依次關閉IO、SQL線程,如果這2個線程當前是活躍的,則也會加上 killed 標識,然后再關閉;

Slave服務器上,SQL線程是允許直接停止當前的SQL操作的(為了避免復制問題),然后再關閉該線程;

在MySQl 5.0.80及以前的版本里,如果SQL線程當時正好執(zhí)行一個事務到中間,該事務會回滾;從5.0.81開始,則會等待所有的操作結束,除非用戶發(fā)起KILL操作。

當Slave的SQL線程對非事務表執(zhí)行操作時被強制 KILL了,可能會導致Master、Slave數(shù)據(jù)不一致;

5、MySQL Server進程關閉所有線程,關閉所有存儲引擎;
刷新所有表cache,關閉所有打開的表;

每個存儲引擎各自負責相關的關閉操作,例如MyISAM會刷新所有等待寫入的操作;InnoDB會將buffer pool刷新到磁盤中(從MySQL 5.0.5開始,如果innodb_fast_shutdown不設置為 2 的話),把當前的LSN記錄到表空間中,然后關閉所有的內(nèi)部線程。

6、MySQL Server進程退出
關于KILL指令

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 北川| 新兴县| 遂川县| 忻城县| 内丘县| 防城港市| 遂平县| 荥经县| 女性| 大安市| 沛县| 长兴县| 拉萨市| 铜鼓县| 兖州市| 黑水县| 连州市| 景东| 秭归县| 元谋县| 琼中| 区。| 尉犁县| 万载县| 屯昌县| 班玛县| 炎陵县| 搜索| 金阳县| 桐梓县| 梅河口市| 静安区| 澄迈县| 灌云县| 金溪县| 长阳| 顺昌县| 东莞市| 图片| 垫江县| 顺平县|