国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 城固县| 大庆市| 大邑县| 谢通门县| 康马县| 崇义县| 舞钢市| 丰镇市| 南部县| 新野县| 大邑县| 邻水| 石渠县| 津南区| 子洲县| 罗甸县| 莆田市| 铁岭市| 屏边| 惠水县| 榆社县| 通州市| 库车县| 延长县| 报价| 临清市| 大悟县| 子长县| 宝鸡市| 桑日县| 宁强县| 临澧县| 那曲县| 淄博市| 富民县| 墨江| 历史| 靖江市| 泸溪县| 平顺县| 延边|