basedir=/opt/mysql/mysql3315 datadir=/opt/mysql/mysql3315/data
進(jìn)行查找,在解析參數(shù)文件的時(shí)候會(huì)帶入 -e進(jìn)行解析
/opt/mysql/mysql3315/bin/my_print_defaults -e /opt/mysql/mysql3315/my.cnf mysqld server mysql_server mysql.server
也就是—defaults-extra-file,獲取的目錄包含basedir、datadir、pid-file,但是pid-file參數(shù)可能不存在
使用如下
if test -z "$mysqld_pid_file_path" then mysqld_pid_file_path=$datadir/`hostname`.pid else case "$mysqld_pid_file_path" in /* ) ;; * ) mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;; esac fi
換算出位置和文件名。最終調(diào)入的參數(shù)如下:
/opt/mysql/mysql3315/bin/mysqld_safe --datadir=/opt/mysql/mysql3315/data/ --pid-file=/opt/mysql/mysql3315/data//mgr4.pid
/opt/mysql/mysql3315/bin/my_print_defaults mysqld server mysql_server mysql.server
注意:這里沒有設(shè)置-e因?yàn)樵O(shè)置了MYSQL_HOME目錄會(huì)自行解析其下面的參數(shù)文件,解析位置見最后。
nohup /opt/mysql/mysql3315/bin/mysqld --basedir=/opt/mysql/mysql3315 --datadir=/opt/mysql/mysql3315/data --plugin-dir=/opt/mysql/mysql3315/lib/plugin --user=mysql --log-error=/opt/mysql/mysql3315/logs/mysql3315.err --pid-file=/opt/mysql/mysql3315/data//mgr4.pid --socket=/opt/mysql/mysql3315/data/mysql3315.sock --port=3315
注意:有open_files_limits的情況下這里會(huì)帶上open_file_limits而覆蓋mysqld使用的參數(shù)文件中的配置
啟動(dòng)后會(huì)進(jìn)行如下的循環(huán),會(huì)通過eval命令堵塞在mysqld的調(diào)用,如果進(jìn)程退出則返回,進(jìn)行循環(huán)判斷,最后會(huì)根據(jù)pid是否存在判斷是否是正常的關(guān)閉mysqld判斷方式是kill -0 pid進(jìn)行判斷mysqld進(jìn)程是否存在。不存在則拉起來。
while true do echo 1 start_time=`date +%M%S` eval_log_error "$cmd"
if [ -n "$mysqld_ld_library_path" ]; then new_text="$mysqld_ld_library_path" [ -n "$LD_LIBRARY_PATH" ] new_text="$new_text:$LD_LIBRARY_PATH" text="${text}LD_LIBRARY_PATH="`shell_quote_string "$new_text"`' ' fi
``` /home/work/ssd1/mysql/install/bin/mysqld_safe —defaults-file=/home/work/ssd1/mysql/etc/3307/my.cnf —socket=/home/work/ssd1/mysql/sock/3307/mysql.sock —datadir=/home/work/ssd1/mysql/data/3307 —user=mysql
如果這樣啟動(dòng)my_print_defaults 會(huì)帶上 —defaults-file
/opt/mysql/mysql3320/install/bin/my_print_defaults —defaults-file=/home/work/ssd1/mysql/etc/3307/my.cnf —loose-verbose mysqld server
實(shí)際上這個(gè)函數(shù)init_default_directories函數(shù)中
其中順序?yàn)椋?/strong>
—defaults-file最先讀取,并且為只讀取這個(gè)配置文件,并且為第一個(gè)選項(xiàng)>
解析完成后全部參數(shù)羅列,多個(gè)同名參數(shù)以最后一個(gè)生效
到此這篇關(guān)于MySQL讀取my.cnf的順序問題詳情的文章就介紹到這了,更多相關(guān)MySQL讀取my.cnf的順序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:無錫 阿里 揚(yáng)州 山西 溫州 定西 三明 福州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL讀取my.cnf的順序問題詳情》,本文關(guān)鍵詞 MySQL,讀取,my.cnf,的,順序,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。