[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...