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程式首先檢查環境變數,然後檢查配置檔案,最後檢查終端的選項,說明終端指定選項優先順序最高。
mysqld safe 啟動執行流程
mysqld safe指令碼執行的基本流程 1 查詢basedir和ledir。2 查詢datadir和my.cnf。3 對my.cnf做一些檢查,具體檢查哪些選項請看附件中的注釋。4 解析my.cnf中的組 mysqld 和 mysqld safe 並和終端裡輸入的命令合併。5 呼叫parse a...
mysqld與mysqld safe的區別
出處 直接執行mysqld程式來啟動mysql服務的方法很少見,mysqld safe指令碼會在啟動mysql伺服器後繼續監控其運 況,並在其宕機時重新啟動它。用mysqld safe指令碼來啟動mysql伺服器的做法在bsd風格的unix系統上很常見,非bsd風格的unix系統中的 mysql.s...
shell 指令碼的執行
如何執行shell程式,如何在shell程式以及後續指令碼中使用同乙個變數,這些在工作中經常用到,我找到如下的文章,再加深複習一下。1.source命令用法 source filename 作用 在當前bash環境下讀取並執行filename中的命令。該filename檔案可以無 執行許可權 注 該...