mysql基礎(chǔ):mysqld_safe 啟動執(zhí)行流程詳解
mysqld_safe腳本執(zhí)行的基本流程:
1、查找basedir和ledir。
2、查找datadir和my.cnf。
3、對my.cnf做一些檢查,具體檢查哪些選項請看附件中的注釋。
4、解析my.cnf中的組[mysqld]和[mysqld_safe]并和終端里輸入的命令合并。
5、調(diào)用parse_arguments函數(shù)解析用戶傳遞的所有參數(shù)($@)。
6、對系統(tǒng)日志和錯誤日志的判斷和相應(yīng)處理具體可以參考附件中的注釋,及選項--err-log參數(shù)的賦值。
7、對選項--user,--pid-file,--socket及--port進行處理及賦值,保證啟動時如果不給出這些參數(shù)它也會有值。
8、啟動mysqld.
a)啟動時會判斷一個進程號是否存在,如果存在那么就在錯誤日志中記錄"A mysqld process already exists"并且退出。
b)如不存在就刪除進程文件,如果刪除不了,那么就在錯誤日志中記錄"Fatal error: Can't remove the pid file"并退出。
9、啟動時對表進行檢查。如果啟動的時候檢查表的話設(shè)置key_buffer and sort_buffer會提高速度并且減少磁盤空間的使用。也可以使用myisam-recover選項恢復(fù)出錯的myisam表。
10、如果啟動時你什么參數(shù)都沒有給,那么它會選用一些特定的參數(shù)啟動,具體哪些參數(shù)請看附件注釋。
11、如果服務(wù)器異常關(guān)閉,那么會restart。
最后用三步來總結(jié)
檢查環(huán)境
檢查配置選項
啟動及啟動后的處理
總結(jié):選用mysqld_safe啟動的好處。
1、mysqld_safe增加了一些安全特性,例如當(dāng)出現(xiàn)錯誤時重啟服務(wù)器并向錯誤日志文件寫入運行時間信息。
2、如果有的選項是mysqld_safe 啟動時特有的,那么可以終端指定,如果在配置文件中指定需要放在[mysqld_safe]組里面,放在其他組不能被正確解析。
3、mysqld_safe啟動能夠指定內(nèi)核文件大小 ulimit -c $core_file_size以及打開的文件的數(shù)量ulimit -n $size。
4、MySQL程序首先檢查環(huán)境變量,然后檢查配置文件,最后檢查終端的選項,說明終端指定選項優(yōu)先級最高。
相關(guān)文章
MySQL數(shù)據(jù)庫char與varchar的區(qū)別分析及使用建議
本文主要介紹了mysql中VARCHAR與CHAR字符型數(shù)據(jù)的差異以及這兩種字符型數(shù)據(jù)在項目中的使用建議,真心不錯。值得一看。小編有種受益匪淺的感覺。2014-09-09從創(chuàng)建數(shù)據(jù)庫到存儲過程與用戶自定義函數(shù)的小感
從創(chuàng)建數(shù)據(jù)庫到存儲過程與用戶自定義函數(shù)的小感,深入的學(xué)習(xí)mysql2011-09-09更新text字段時出現(xiàn)Row size too large報錯應(yīng)付措施
個人建議:表的text字段很多建議建表時加上 row_format = dynamic當(dāng)然,回過頭來MySQL的報錯也是有誤導(dǎo)性的,感興趣的你可以參考下本文2013-03-03Mysql誤刪數(shù)據(jù)解決方案及kill語句原理
這篇文章主要介紹了Mysql誤刪數(shù)據(jù)解決方案及kill語句原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09Mysql數(shù)據(jù)表分區(qū)技術(shù)PARTITION淺析
這篇文章主要介紹了Mysql數(shù)據(jù)表分區(qū)技術(shù)PARTITION淺析,分別介紹了 Mysql 中的分區(qū)技術(shù) RANGE、LIST、 HASH,需要的朋友可以參考下2014-06-06Mysql主從三種復(fù)制模式(異步復(fù)制,半同步復(fù)制,組復(fù)制)
這篇文章主要介紹了Mysql主從三種復(fù)制模式(異步復(fù)制,半同步復(fù)制,組復(fù)制),MySQL異步復(fù)制是主從復(fù)制過程中默認的復(fù)制模式,下文簡單介紹,感興趣的朋友可以參考一下2022-08-08解決數(shù)據(jù)庫有數(shù)據(jù)但查詢出來的值為Null問題
這篇文章主要介紹了解決數(shù)據(jù)庫有數(shù)據(jù)但查詢出來的值為Null問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10