MySQL培訓課程:MySQLd服務器系統變量和狀態變量
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢服務器系統變量
服務器將維護許多表示其配置的系統變量。所有變量均有默認值。可以在命令行中或選項文件設置選項在服務器啟動時對它們進行設置。大多數可以在運行時使用SET語句來設置。
mysqld服務器維護兩種變量。全局變量影響服務器的全局操作。會話變量影響具體客戶端連接相關操作。
服務器啟動時,將所有全局變量初始化為默認值。可以在選項文件或命令行中指定的選項來更改這些默認值。服務器啟動后,通過連接服務器并執行SET GLOBAL var_name語句可以更改動態全局變量。要想更改全局變量,必須具有SUPER權限。
服務器還為每個客戶端連接維護會話變量。連接時使用相應全局變量的當前值對客戶端會話變量進行初始化。客戶可以通過SET SESSION var_name語句來更改動態會話變量。設置會話變量不需要特殊權限,但客戶可以只更改自己的會話變量,而不更改其它客戶的會話變量。
任何訪問全局變量的客戶端都可以看見對全局變量的更改。但是,它只影響在更改后連接的從該全局變量初始化相應會話變量的客戶端。它不會影響已經連接上的客戶端的會話變量(甚至是執行SET GLOBAL語句的客戶端)。
要想顯式指定是否設置全局或會話變量,使用GLOBAL或SESSION選項:
mysql> SET GLOBAL sort_buffer_size = 10 * 1024 * 1024;
mysql> SET SESSION sort_buffer_size = 10 * 1024 * 1024;
兩個選項均沒有,則語句設置會話變量。
你可以通過SHOW VARIABLES語句查看系統變量及其值。
mysql> SHOW VARIABLES; +---------------------------------+-------------------------------------------+ | Variable_name | Value | +---------------------------------+-------------------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | ....
若沒有另行規定,緩沖區大小、長度和堆棧大小的單位均為字節。
服務器狀態變量
服務器維護許多提供操作相關信息的狀態變量。你可以通過SHOW STATUS語句查看這些變量和它們的值:
mysql> SHOW STATUS; +-----------------------------------+------------+ | Variable_name | Value | +-----------------------------------+------------+ | Aborted_clients | 0 | | Aborted_connects | 0 | | Bytes_received | 155372598 | | Bytes_sent | 1176560426 | | Connections | 30023 | | Created_tmp_disk_tables | 0 | | Created_tmp_files | 3 | | Created_tmp_tables | 2 | | Threads_created | 217 | | Threads_running | 88 | | Uptime | 1389872 | +-----------------------------------+------------+
用FLUSH STATUS語句可以將許多狀態變量重設為0。