1. 程式人生 > 其它 >2、mysql的啟動選項和配置檔案介紹

2、mysql的啟動選項和配置檔案介紹

技術標籤:mysql & oracle & 資料庫

百因必有果

mysql服務端可以指定允許同時接入的客戶端數量max-connections、客戶端與伺服器的通訊方式、表的預設儲存引擎default_storage_engine等等設定項,使得我們可以更加靈活地使用它。

進入正題

我們講的是基於linux系統的,本文我們主要講一下:
1、有哪些常用的啟動選擇配置方式?

2、採用配置檔案 配置啟動選項有哪些注意點?配置檔案的優先順序?

3、如何檢視和設定系統變數?

> 有哪些常用的啟動選擇配置方式?

1、命令列配置

如:mysqld --skip-networking

該命令列表示啟動mysql服務端,同時服務端不允許客戶端通過tcp/ip方式連線上來。

2、配置檔案配置

如在/etc/my.cnf檔案下設定:
[mysqld]
skip-networking

>採用配置檔案 配置啟動選項有哪些注意點?配置檔案的優先順序?

1、配置檔案配置啟動選項時,可以有多個路徑進行配置,他們的依次順序為:

路徑說明
/etc/my.cnf系統級的配置
/etc/mysql/my.cnf
SYSCONFDIR/my.cnf
$MYSQL_HOME/my.cnf特定於伺服器的選項(僅限伺服器)
defaults-extra-file命令列指定的額外配置檔案件路徑
~/.my.cnf使用者特定選項
~/.mylogin.cnf使用者特定的登入路徑選項(僅限客戶端)

下面的配置檔案的配置會將上面的覆蓋,偏向於使用者自定義的配置會將系統級的配置覆蓋
也就是說,如果你在/etc/my.cnf檔案下配置了:

[mysqld]
default_storage_engine=Innodb

而在 /etc/mysql/my.cnf 配置了

[mysqld]
default_storage_engine=MyIsam

那麼伺服器啟動後,表的儲存引擎採用的是 MyIsam。

2、配置檔案中的配置會被分為若干個組,每個組有一個組名。如:

[server]
(具體的啟動選項…)
[mysqld]
(具體的啟動選項…)

[mysqld_safe]
(具體的啟動選項…)
[client]
(具體的啟動選項…)
[mysql]
(具體的啟動選項…)
[mysqladmin]
(具體的啟動選項…)

[server] 和[client]是兩個特殊的組,針對服務端的應用,[server]組下的配置都會起作用。針對客戶端的應用,[client]組下的配置都會起作用。

3、如果一個配置項既出現在配置檔案裡,又出現在命令列中,那麼以命令列中的啟動選項為準。

> 如何檢視和設定系統變數

首先系統變數有其作用範圍,主要有global(作用於全域性)與session(只作用於當前會話,對其他客戶端連線是不生效的)兩種。

如果我們想檢視當前使用的預設儲存引擎,可以使用:

show variables like '%default_storage_engine%';

在這裡插入圖片描述
如果你前面不加session還是global,預設檢視的系統變數是session級別的。
你可以通過:

set session default_storage_engine=innodb;

修改系統變數。

也可以通過:

show global variables like '%default_storage_engine%';
show session variables like '%default_storage_engine%';

檢視全域性和會話級的系統變數。

拓展

另外還有一些是狀態變數:
你可以通過

show global status like 'max%';

類似的方式檢視。
在這裡插入圖片描述
你可以看到服務端最多被使用的連線數是79,時間點在2020-12-17 16:55:01。