MySQL中的setglobal命令是用來設(shè)置全局變量的,可以通過該命令來修改MySQL的全局變量的值。setglobal設(shè)置的變量值會(huì)保持到MySQL關(guān)閉為止,而不像set命令一樣,設(shè)置的變量只會(huì)在當(dāng)前會(huì)話中生效。
SET GLOBAL variable_name=value;
使用setglobal命令時(shí),需要注意一些限制。首先,只有具有super
權(quán)限的用戶才能使用該命令。其次,由于setglobal設(shè)置的值是全局的,對于某些變量,需要重啟MySQL才能生效。比如,如果要修改max_allowed_packet
變量,則需要重啟MySQL server才能使該變量修改生效。
在使用setglobal命令時(shí),可以通過查詢MySQL的系統(tǒng)變量來了解這些變量的用途及默認(rèn)值。通過下面的命令,可以列出MySQL中所有系統(tǒng)變量的名稱和當(dāng)前值:
SHOW GLOBAL VARIABLES;
上述命令會(huì)輸出所有系統(tǒng)變量的名稱和當(dāng)前值,可以通過加入like
子句過濾出關(guān)心的變量:
SHOW GLOBAL VARIABLES like '%max_allowed_packet%';
這樣,就可以找到max_allowed_packet
變量的當(dāng)前設(shè)定值。