MySQL入門--設定session,global變數的方法
mysql 設定session,global變數的方法
-- 設定或修改系統日誌有效期
SET GLOBAL expire_logs_days=8;
SHOW VARIABLES LIKE '%expire_logs_days%';
-- 設定或修改系統最大連線數
SET GLOBAL max_connections = 2648;
SHOW VARIABLES LIKE '%max_connections%';
-- 修改MYSQL自動編號步長
SHOW VARIABLES LIKE '%auto_increment%';
SET GLOBAL auto_increment_offset = 1;
SET GLOBAL auto_increment_increment = 1;
比如設定MySQL例項引數wait_timeout為10秒.
1) 設定全域性變數方法1(不推薦): 修改引數檔案, 然後重啟mysqld
# vi /etc/my.cnf
[mysqld]
wait_timeout=10
# service mysqld restart
不過這個方法太生硬了, 線上服務重啟無論如何都應該儘可能避免.
2) 設定全域性變數方法2(推薦): 在命令列裡透過SET來設定, 然後再修改引數檔案
如果要修改全域性變數, 必須要顯示指定"GLOBAL"或者"@@global.", 同時必須要有SUPER許可權.
mysql> set global wait_timeout=10;
or
mysql> set @@global.wait_timeout=10;
然後檢視設定是否成功:
mysql> select @@global.wait_timeout=10;
or
mysql> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 10 |
+---------------+-------+
如果查詢時使用的是show variables的話, 會發現設定並沒有生效, 除非重新登入再檢視. 這是因為使用show variables的話就等同於使用show session variables, 查詢的是會話變數, 只有使用show global variables查詢的才是全域性變數. 如果僅僅想修改會話變數的話, 可以使用類似set wait_timeout=10;或者set session wait_timeout=10;這樣的語法.
當前只修改了正在執行的MySQL例項引數, 但下次重啟mysqld又會回到預設值, 所以別忘了修改引數檔案:
# vi /etc/my.cnf
[mysqld]
wait_timeout=10
3) 設定會話變數方法: 在命令列裡透過SET來設定
如果要修改會話變數值, 可以指定"SESSION"或者"@@session."或者"@@"或者"LOCAL"或者"@@local.", 或者什麼都不使用.
mysql> set wait_timeout=10;
or
mysql> set session wait_timeout=10;
or
mysql> set local wait_timeout=10;
or
mysql> set @@wait_timeout=10;
or
mysql> set @@session.wait_timeout=10;
or
mysql> set @@local.wait_timeout=10;
然後檢視設定是否成功:
mysql> select @@wait_timeout;
or
mysql> select @@session.wait_timeout;
or
mysql> select @@local.wait_timeout;
or
mysql> show variables like 'wait_timeout';
or
mysql> show local variables like 'wait_timeout';
or
mysql> show session variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 10 |
+---------------+-------+
4) 會話變數和全域性變數轉換方法: 在命令列裡透過SET來設定
將會話變數值設定為對應的全域性變數值呢:
mysql> set @@session.wait_timeout=@@global.wait_timeout;
將會話變數值設定為MySQL編譯時的預設值(wait_timeout=28800):
mysql> set wait_timeout=DEFAULT;
這裡要注意的是, 並不是所有的系統變數都能被設定為DEFAULT, 如果設定這些變數為DEFAULT則會返回錯誤.
--end—
參考文獻:
【1】MySQL中Global、Session和Both(Global & Session)範圍的Dynamic及Not Dynamic型別的變數的作用範圍和設定方法,http://blog.csdn.net/zyz511919766/article/details/13294479
【2】MySQL 裡設定或修改系統變數的幾種方法,
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16976507/viewspace-2132067/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 透過set global設定變數的注意點MySql變數
- 《MySQL 入門教程》第 17 篇 MySQL 變數MySql變數
- MySQL 設定變數的副作用薦MySql變數
- 環境變數的設定方法(轉)~變數
- MySQL入門--設定儲存引擎MySql儲存引擎
- npm scripts設定環境變數方法NPM變數
- win10環境變數怎麼設定 win10設定環境變數的方法Win10變數
- [MySQL光速入門]016 圖解變數MySql圖解變數
- MAC 設定環境變數path的幾種方法Mac變數
- 設定環境變數配置的簡單方法.env變數
- Linux 環境變數的設定、檢視方法Linux變數
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- [Python學習] 專題六.區域性變數、全域性變數global、匯入模組變數Python變數
- MySQL – 事務的啟動 / 設定 / 鎖 / 解鎖——入門MySql
- Linux環境變數的設定和檢視方法Linux變數
- oracle中引數session和 processes的設定(轉)OracleSession
- java設定-JDK環境變數的設定(轉)JavaJDK變數
- Shell 入門系列 (一): 變數變數
- TensorFlow入門 - 變數(Variables)變數
- Go 快速入門指南 - 變數Go變數
- Shell入門——shell特性、變數變數
- RMAN環境變數的設定變數
- python全域性變數和區域性變數, globalPython變數
- 設定環境變數變數
- mysql 日期實時變化的設定MySql
- Angular2入門系列(五)———— 路由引數設定Angular路由
- C++入門教程(20):變數、不變數和常量C++變數
- Go 語言入門教程:變數Go變數
- aix變數的設定與檢測AI變數
- export 設定環境變數Export變數
- oracle環境變數設定Oracle變數
- CentOS環境變數設定CentOS變數
- redhatas 設定環境變數Redhat變數
- rman 設定環境變數變數
- JAVA環境變數設定Java變數
- 設定環境變數(轉)變數
- 靜態變數和Session變數Session
- Swift語言中為外部引數設定預設值可變引數常量引數變數引數輸入輸出引數Swift變數