系統變量,就是Mysql針對本身程序運行的一些參數配置。例如經過系統變量咱們能夠指定諸如容許同時連入的客戶端數量、客戶端和服務器通訊方式、表的默認存儲引擎、查詢緩存的大小等設置項。mysql
注:程序員
命令:SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式](不寫GLOBAL或SESSION等同於SESSION);sql
mysqld --default-storage-engine=MyISAM --max-connections=10
,就是配置默認存儲引擎爲MyISAM,最大鏈接數爲10。注:在類Unix系統中,啓動腳本有mysqld、mysqld_safe、mysql.server,其中mysqld表明直接啓動mysql服務器程序,mysqld_safe會在此基礎上啓動一個監控進程,它會將服務器程序的出錯信息和其餘診斷信息重定向到某個文件中,產生出錯日誌,mysql.server也能夠啓動Mysql,使用命令mysql.server start
,效果跟mysqld_safe同樣,mysqld_multi是用於單機多個mysql服務端進程的啓動,中止腳本。緩存
每一個MySQL程序都有許多不一樣的選項。例如,使用mysql --help能夠看到mysql程序支持的啓動選項,mysqld_safe --help能夠看到mysqld_safe程序支持的啓動選項。查看mysqld支持的啓動選項有些特別,須要使用mysqld --verbose --help。服務器
配置文件形如:命令行
[server] (具體的啓動選項...) [mysqld] (具體的啓動選項...) [mysqld_safe] (具體的啓動選項...) [client] (具體的啓動選項...) [mysql] (具體的啓動選項...) [mysqladmin] (具體的啓動選項...)
像這個配置文件裏就定義了許多個組,組名分別是server、mysqld、mysqld_safe、client、mysql、mysqladmin。每一個組下邊能夠定義若干個啓動選項。日誌
如在server組下面配置:code
[server] default-storage-engine=MyISAM max-connections=10
表示默認存儲引擎爲MyISAM,最大鏈接數爲10。server
命令: SET [GLOBAL|SESSION] 系統變量名 = 值 或 SET [@@(GLOBAL|SESSION).]系統變量名 = 值(不寫GLOBAL或SESSION等同於SESSION);進程
例如:
語句一:SET GLOBAL default_storage_engine = MyISAM;
語句二:SET @@GLOBAL.default_storage_engine = MyISAM;
注:若是某個客戶端改變了某個系統變量在GLOBAL
做用範圍的值,並不會影響該系統變量在當前已經鏈接的客戶端做用範圍爲SESSION
的值,只會影響後續連入的客戶端在做用範圍爲SESSION
的值。
MySQL服務器程序中維護了好多關於程序運行狀態的變量,它們被稱爲狀態變量,因爲狀態變量是用來顯示服務器程序運行情況的,因此它們的值只能由服務器程序本身來設置,咱們程序員是不能設置的。與系統變量相似,狀態變量也有GLOBAL和SESSION兩個做用範圍的。比方說Threads_connected表示當前有多少客戶端與服務器創建了鏈接,Handler_update表示已經更新了多少行記錄。
SHOW [GLOBAL|SESSION] STATUS [LIKE 匹配的模式](不寫GLOBAL或SESSION等同於SESSION;