2014年5月5日 星期一

查詢及設定mysql 連線數

MySQL的最大連線數可以透過my.cnf設定檔來設定

max_connections = 200 (若沒有設定,預設值為100)。

上述方法需重新啟動MySQL才能套用設定,另一種方法則是直接下指令,缺點就是下次重啟動時還是會回到原設定
mysql> set global max_connections = 200;

透過以下指來可查看此參數設定。
mysql> show variables;

至於目前的連線數,可透過Threads_connected來得知,動態變化,可透過以下指令得知目前連線數
mysql> show status;
此外,若發現MySQL的連線數出現異常,如短時間爆增連線,可以用以下指令來找尋目前的連線狀態,找出當下SQL Query的指令與來源。
mysql> show full processlist;

若有異常的指令,可以下kill來刪除該指令
mysql> kill [id]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
依版本, my.cnf 可以照以下格式寫入,
# MySQL 5
max_connections=500            # 全部接受的最大連線數
max_user_connections=20     # 每個使用者最大連線數

# MySQL 4
set-variable=max_connections=500            # 全部接受的最大連線數

set-variable=max_user_connections=20     # 每個使用者最大連線數