比方說在一些實際生產環境中,想改個MYSQL的配置,但是又不想停止服務重起MYSQL,有什么辦法呢?使用SET命令可以做到,請看下面幾個例子:
1.設置key_buffer_size的大小為10M。
SET GLOBAL key_buffer_size = 10485760;
或
SET @@global.key_buffer_size = 10485760;
2.設置最大連接數為200
SET GLOBAL max_connections=200;
或
SET @@global.max_connections=200;
3.更改慢查詢SQL日志時間
SET @@long_query_time=3;
要查看有哪些變量,可執行SHOW VARIABLES;獲得。
參考手冊:
SET variable_assignment [, variable_assignment] ...
variable_assignment:
user_var_name = expr
| [GLOBAL | SESSION] system_var_name = expr
| @@[global. | session.]system_var_name = expr
SET用于設置不同類型的變量。這些變量會影響服務器或客戶端的操作。SET可以用于向用戶變量或系統變量賦值。
用于分配賬戶密碼的SET PASSWORD語句在13.5.1.5節,“SET PASSWORD語法”中進行了討論。
多數系統變量可以在運行時間被更改。可以被動態設置的系統變量在5.3.3.1節,“動態系統變量”中進行了討論。
注釋:舊版本的MySQL采用SET OPTION作為這個命令,但是由于有了SET,現在不贊成使用SET OPTION。
以下例子顯示了您可以用于設置變量的不同語法。
用戶變量可以被寫作@var_name,并可以進行如下設置:
SET @var_name = expr;
在9.3節,“用戶變量”中給出了有關用戶變量的更多信息。
系統變量可以被作為var_name引用到SET語句中。在名稱的前面可以自選地添加GLOBAL或@@global,以明確地指示該變量是全局變量?;蛘咴诿Q前面添加SESSION, @@session,或@@,以指示它是一個會話變量。LOCAL和@@local是SESSION和@@session地同義詞。如果沒有修改符,則SET設置會話變量。
支持系統變量的@@var_name語法,以便使MySQL語法與其它數據庫系統相兼容。
浙公網安備 33010602011771號