mysql基礎:mysqld_safe 啟動執行流程詳解

來源:互聯網
上載者:User

mysqld_safe指令碼執行的基本流程:
1、尋找basedir和ledir。
2、尋找datadir和my.cnf。
3、對my.cnf做一些檢查,具體檢查哪些選項請看附件中的注釋。
4、解析my.cnf中的組[mysqld]和[mysqld_safe]並和終端裡輸入的命令合并。
5、調用parse_arguments函數解析使用者傳遞的所有參數($@)。
6、對系統日誌和錯誤記錄檔的判斷和相應處理具體可以參考附件中的注釋,及選項--err-log參數的賦值。
7、對選項--user,--pid-file,--socket及--port進行處理及賦值,保證啟動時如果不給出這些參數它也會有值。
8、啟動mysqld.
a)啟動時會判斷一個進程號是否存在,如果存在那麼就在錯誤記錄檔中記錄"A mysqld process already exists"並且退出。
b)如不存在就刪除進程檔案,如果刪除不了,那麼就在錯誤記錄檔中記錄"Fatal error: Can't remove the pid file"並退出。
9、啟動時對錶進行檢查。如果啟動的時候檢查表的話設定key_buffer and sort_buffer會提高速度並且減少磁碟空間的使用。也可以使用myisam-recover選項恢複出錯的myisam表。
10、如果啟動時你什麼參數都沒有給,那麼它會選用一些特定的參數啟動,具體哪些參數請看附件注釋。
11、如果伺服器異常關閉,那麼會restart。

最後用三步來總結
檢查環境
檢查配置選項
啟動及啟動後的處理

總結:選用mysqld_safe啟動的好處。
1、mysqld_safe增加了一些安全特性,例如當出現錯誤時重啟伺服器並向錯誤記錄檔檔案寫入已耗用時間資訊。
2、如果有的選項是mysqld_safe 啟動時特有的,那麼可以終端指定,如果在設定檔中指定需要放在[mysqld_safe]組裡面,放在其他組不能被正確解析。
3、mysqld_safe啟動能夠指定核心檔案大小 ulimit -c $core_file_size以及開啟的檔案的數量ulimit -n $size。
4、MySQL程式首先檢查環境變數,然後檢查設定檔,最後檢查終端的選項,說明終端指定選項優先順序最高。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.