程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql基礎:mysqld_safe 啟動執行流程詳解

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

編輯:關於MYSQL數據庫

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程序首先檢查環境變量,然後檢查配置文件,最後檢查終端的選項,說明終端指定選項優先級最高。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved