MySQL讀取配置文件的順序、啓動方式、啓動原理

 


1、MySQL讀取配置文件的順序mysql

讀取順序:/etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnfsql

命令驗證:
[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函數

2、MySQL啓動方式post

MySQL的啓動方式一般分紅三種:mysqld、mysqld_safe、mysqld_multi(主要用於多實例啓動)server

三種方式的關係:
首先當咱們使用service mysqld start或者/etc/init.d/mysqld start這樣的方式啓動的時候,實際上是使用了mysql.server這個腳本,這個腳本默認會調用mysqld_safe來啓動mysqld,因此一般咱們啓動mysql以後查看進程的時候會發現有mysqld和mysqld_safe這兩個進程存在。這兩種一般都是單實例的啓動方式,固然也可使用mysqld來啓動多實例的。而mysqld_multi用來啓動多實例,也是經過先調用mysqld_safe和mysqld來啓動mysql的。blog

3、MySQL啓動原理進程

默認的mysql的服務啓動程序是mysql.server,mysql.server程序主要是會用到兩個程序和一個函數,分別是my_print_defaults、myslqd_safe和parse_server_argumentsit

一、my_print_defaults:讀取my.cnf配置文件,輸出參數傳遞給parse_server_arguments,該程序只讀my.cnf中[mysqld]中的參數。class

二、parse_server_arguments:該函數處理my_print_defaults傳遞過來的參數賦值給--basedir、--datadir、--pid-file、--server-startup-timeout原理

三、myslqd_safe:mysqld_safe程序調用mysqld程序來啓動mysql服務,[mysqld_safe]會覆蓋mysqld部分中的參數

四、mysqld_multi會讀取配置文件中的[mysqld_muti],[mysqldN]下面的參數,N須要時一個整數,建議用端口號表示,該部分的配置會覆蓋[mysqld]部分中的配置

五、在mysqld進程掛掉的時候,mysqld_safe進程會監測到並從新將mysqld啓動起來。

相關文章
相關標籤/搜索