MySQL 變數(引數)的檢視和設定

2021-12-30 12:23:39 字數 1764 閱讀 2643

[mysql] 變數(引數)的檢視和設定

類似於oracle的引數檔案,mysql的選項檔案(如my.cnf)用於配置mysql伺服器,但和oracle叫法不一樣,在mysql裡, 官方叫變數(varialbes),但其實叫引數也是可以的,只要明白這倆是同乙個東西就可以了。

mysql的變數分為以下兩種:

1)系統變數:配置mysql伺服器的執行環境,可以用show variables檢視

2)狀態變數:監控mysql伺服器的執行狀態,可以用show status檢視

系統變數

系統變數按其作用域的不同可以分為以下兩種:

1)分為全域性(global)級:對整個mysql伺服器有效

2)會話(session或local)級:只影響當前會話

有些變數同時擁有以上兩個級別,mysql將在建立連線時用全域性級變數初始化會話級變數,但一旦連線建立之後,全域性級變數的改變不會影響到會話級變數。

檢視系統變數的值

可以通過show vairables語句檢視系統變數的值:

[sql] 

mysql> show variables like 'log%';  

mysql> show variables where variable_name like 'log%' and value='on';  

注意:show variables優先顯示會話級變數的值,如果這個值不存在,則顯示全域性級變數的值,當然你也可以加上global或session關鍵字區別:

[sql] 

show global variables;  

show session/local variables;  

在寫一些儲存過程時,可能需要引用系統變數的值,可以使用如下方法:

[sql] 

@@global.var_name  

@@session.var_name 或  

@@local.var_name  

如果在變數名前沒有級別限定符,將優先顯示會話級的值。

最後一種檢視變數值的方法是從information_schema資料庫裡的global_variables和session_variables表獲得。

設定和修改系統變數的值

在mysql伺服器啟動時,有以下兩種方法設定系統變數的值:

1)命令列引數,如:mysqld --max_connections=200

2)選項檔案(my.cnf)

在mysql伺服器啟動後,如果需要修改系統變數的值,可以通過set語句:

[plain] 

set global var_name = value;  

set @@global.var_name = value;  

set session var_name = value;  

set @@session.var_name = value;  

如果在變數名前沒有級別限定符,表示修改會話級變數。

注意:和啟動時不一樣的是,在執行時設定的變數不允許使用字尾字母'k'、『m'等,但可以用表示式來達到相同的效果,如:

[sql] 

set global read_buffer_size = 2*1024*1024  

狀態變數

狀態變數可以使我們及時了解mysql伺服器的執行狀況,可以使用show status語句檢視。

狀態變數和相同變數類似,也分為全域性級和會話級,show status也支援like匹配查詢,比較大的不同是狀態變數只能由mysql伺服器本身設定和修改,對於使用者來說是唯讀的,不可以通過set語句設定和修改它們。

mysql系統變數檢視和設定

類似於oracle的引數檔案,mysql的選項檔案 如my.cnf 用於配置mysql伺服器,但和oracle叫法不一樣,在mysql裡,官方叫變數 varialbes 但其實叫引數也是可以的,只要明白這倆是同乙個東西就可以了。mysql的變數分為以下兩種 1 系統變數 配置mysql伺服器的執行環...

設定和檢視 Ubuntu 環境變數

設定環境變數 export var name value export path path path to your dir 檢視環境變數 env 檢視全部 env var name 檢視某變數借助 python 的 os 模組 設定環境變數 os.environ 環境變數名稱 環境變數值 其中ke...

mysql 檢視引數配置 Mysql 相關引數配置

一 慢查詢日誌配置 以下是開啟慢日誌的配置 單位為 s slow query log on slow query log file d mysql 8.0.21 winx64 slowlog slow.log long query time 0.001 log queries not using i...