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