1、MySQL启动读取配置文件的顺序图:
1.1、MySQL默认启动流程查看命令:
/usr/local/mysql/bin/mysqld 8211;verbose –help|grep my.cnf
/etc/my.cnf →/etc/mysql/my.cnf →/usr/local/mysql/etc/my.cnf → ~/.my.cnf
参数
̵1;defaults-file=/path/xx.my.cnf
介绍:
MySQL文件默认启动流程从/etc/my.cnf 、/etc/mysql/my.cnf、 /usr/local/mysql/etc/my.cnf 、~/.my.cnf依次系统流程查询较慢,多实例启动方式常用。
例子1:
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my3306.cnf &
参数
–defaults-extra-file=/path/xx.my.c
介绍:
参数意义:
先读取̵1;defaults-file=/etc/my3306.cnf配置文件,然后再读取–defaults-extra-file=/etc/my3306.cnf配置文件,后面将前面的覆盖。
变量例子:
i=1 结果为1
[root@rhzy1 data]# i=1
[root@rhzy1 data]# echo $i
1
i=2 结果为2,新的赋值。
[root@ data]# i=2
[root@data]# echo $i
2
例子2:
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my3306.cnf --defaults-extra-file=/etc/my3306.cnf &
2、实验步骤:innodb_buffer_pool_size
3、默认启动结果如下.
root@localhost [(none)]>show global variables like '%innodb_buffer_pool_size%'
-> ;
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| innodb_buffer_pool_size | 536870912 |
+-------------------------+-----------+
1 row in set (0.00 sec)
root@localhost [(none)]>select 536870912/1024/1024;
+---------------------+
| 536870912/1024/1024 |
+---------------------+
| 512.00000000 |
+---------------------+
1 row in set (0.00 sec)
类的继承
root@localhost [(none)]>select 512/128;
+---------+
| 512/128 |
+---------+
| 4.0000 |
+---------+
1 row in set (0.00 sec)
4、指定配置文件启动结果
/usr/local/mysql/bin/mysqld –defaults-file=/etc/my.cnf &
root@localhost [(none)]>show global variables like '%innodb_buffer_pool_size%'
-> ;
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| innodb_buffer_pool_size | 104857600 |
+-------------------------+-----------+
1 row in set (0.01 sec)
root@localhost [(none)]>select 104857600/1024/1024;
+---------------------+
| 104857600/1024/1024 |
+---------------------+
| 100.00000000 |
+---------------------+
1 row in set (0.00 sec)