本篇內容主要講解“MySQL讀取配置文件的順序和啟動方式以及啟動原理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MySQL讀取配置文件的順序和啟動方式以及啟動原理”吧!
成都創(chuàng)新互聯(lián)公司長期為成百上千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為鹽邊企業(yè)提供專業(yè)的網站制作、成都網站制作,鹽邊網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
一、MySQL讀取配置文件的順序
讀取順序:/etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnf
命令驗證:
[root@mysql ~]# mysql --verbose --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
二、MySQL啟動方式
MySQL的啟動方式通常分成三種:mysqld、mysqld_safe、mysqld_multi(主要用于多實例啟動)
三種方式的關系:
首先當我們使用service mysqld start或者/etc/init.d/mysqld start這樣的方式啟動的時候,其實是使用了mysql.server這個腳本,這個腳本默認會調用mysqld_safe來啟動mysqld,所以通常我們啟動mysql之后查看進程的時候會發(fā)現(xiàn)有mysqld和mysqld_safe這兩個進程存在。這兩種通常都是單實例的啟動方式,當然也可以使用mysqld來啟動多實例的。而mysqld_multi用來啟動多實例,也是通過先調用mysqld_safe和mysqld來啟動mysql的。
三、MySQL啟動原理
默認的mysql的服務啟動程序是mysql.server,mysql.server程序主要是會用到兩個程序和一個函數(shù),分別是my_print_defaults、myslqd_safe和parse_server_arguments
1、my_print_defaults:讀取my.cnf配置文件,輸出參數(shù)傳遞給parse_server_arguments,該程序只讀my.cnf中[mysqld]中的參數(shù)。
2、parse_server_arguments:該函數(shù)處理my_print_defaults傳遞過來的參數(shù)賦值給--basedir、--datadir、--pid-file、--server-startup-timeout
3、myslqd_safe:mysqld_safe程序調用mysqld程序來啟動mysql服務,[mysqld_safe]會覆蓋mysqld部分中的參數(shù)
4、mysqld_multi會讀取配置文件中的[mysqld_muti],[mysqldN]下面的參數(shù),N需要時一個整數(shù),建議用端口號表示,該部分的配置會覆蓋[mysqld]部分中的配置
5、在mysqld進程掛掉的時候,mysqld_safe進程會監(jiān)測到并重新將mysqld啟動起來。
到此,相信大家對“MySQL讀取配置文件的順序和啟動方式以及啟動原理”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!