mysql設定環境變數

2021-06-26 11:40:54 字數 2613 閱讀 1659

-- 設定或修改系統日誌有效期

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;

ormysql> set @@global.wait_timeout=10;

然後檢視設定是否成功:

mysql> select @@global.wait_timeout=10;

ormysql> 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;

ormysql> set session wait_timeout=10;

ormysql> set local wait_timeout=10;

ormysql> set @@wait_timeout=10;

ormysql> set @@session.wait_timeout=10;

ormysql> set @@local.wait_timeout=10;

然後檢視設定是否成功:

mysql> select @@wait_timeout;

ormysql> select @@session.wait_timeout;

ormysql> select @@local.wait_timeout;

ormysql> show variables like 'wait_timeout';

ormysql> show local variables like 'wait_timeout';

ormysql> 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-

mysql設定環境變數

臨時修改環境變數 我們可以使用set語法在執行時修改環境變數,修改global變數後,對修改之前的session沒有影響,對修修改之後的session生效 修改session變數後,修改後,對於該session立即生效。修改語法如下 修改全域性變數 set global var name value...

mysql環境變數設定

在執行裡輸入cmd後啟動doc視窗 然後輸入如下指令mysql u root h127.0.0.1 p 報錯 mysql 不是內部或外部命令,也不是可執行的程式 或批處理檔案。原因 出現這種錯誤的原因是沒有在mysql環境變數path中將mysql的路徑新增進去。解決方法 在windows平台下,需...

設定環境變數

一.何謂環境變數 在所處的環境中,那些供系統或應用程式取用,而固定存在的一種特殊變數,稱之.環境變數可由系統預定或由您自行定義及修改,又稱為整體變數.也就是說 不管你身處何方,這些變數的值都跟著你的環境而存在.例如 path,shell,term等.顯示環境變數的方法如下 echo 變數名稱 如 e...