標籤:
以下的文章主要介紹的是正確修改MySQL最大串連數的三種好用方案,我們大家都知道MySQL資料庫在安裝完之後,預設的MySQL資料庫,其最大串連數為100,一般流量稍微大一點的論壇或網站這個串連數是遠遠不夠的,增加預設MySQL串連數的方法有兩個。
方法一:
進入MySQL安裝目錄 開啟MySQL設定檔 my.ini 或 my.cnf尋找 max_connections=100 修改為 max_connections=1000 服務裡重起MySQL即可
方法二:
MySQL最大串連數預設是100用戶端登入:
MySQL -uusername -ppassword
複製代碼
設定新的MySQL最大串連數為200:
MySQL> set GLOBAL max_connections=200
MySQL>SHOW VARIABLES;
MySQL>SHOW VARIABLES like ‘max_%‘;
顯示當前啟動並執行Query:
MySQL> show processlist
如何查詢mysql的已串連數
MySQL>show full processlist;
顯示目前狀態:
MySQL> show status
複製代碼
退出用戶端:MySQL> exit
查看當前MySQL最大串連數:MySQLadmin -uusername -ppassword variables
方法三:
以centos 4.4 下面的MySQL 5.0.33 手工編譯版本為例說明:
vi /usr/local/MySQL/bin/MySQLd_safe
複製代碼
找到safe_MySQLd編輯它,找到MySQLd啟動的那兩行,在後面加上參數 :
-O max_connections=1500
複製代碼
具體一點就是下面的位置:
用紅字特別說明:
then $NOHUP_NICENESS $ledir/$MySQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking -O max_connections=1500 >> $err_log 2>&1 else eval "$NOHUP_NICENESS $ledir/$MySQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking $args -O max_connections=1500 >> $err_log 2>&1"
複製代碼
儲存。
# service MySQLd restart # /usr/local/MySQL/bin/MySQLadmin -uroot -p variables
複製代碼
輸入root資料庫帳號的密碼後可看到
max_connections 1500 即新改動已經生效。
還有一種方法,
修改原代碼:
解開MySQL的原代碼,進入裡面的sql目錄修改MySQLd.cc找到下面一行:
{"max_connections", OPT_MAX_CONNECTIONS, "The number of simultaneous clients allowed.", (gptr*) &max_connections, (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1, 0},
複製代碼
把它改為:
{"max_connections", OPT_MAX_CONNECTIONS, "The number of simultaneous clients allowed.", (gptr*) &max_connections, (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1, 0},
複製代碼
存檔退出,然後./con**ure ;make;make install可以獲得同樣的效果。以上的相關內容就是對修改MySQL最大串連數的3種方法的介紹,望你能有所收穫。
原文出自【位元網】,轉載請保留原文連結:http://bbs.chinabyte.com/thread-373798-1-1.html
如何查詢mysql的已串連數??
請問如何查詢mysqlserver當前已經連了多少使用者??我用的是windows作業系統,server安裝在別的機器上,我是用戶端想擷取server的已連線的使用者數。請告知。。
>show full processlist;
D:MySQLbin>mysqladmin processlist -uroot -pgene
不好意思,我描述的有問題。。我要得到的是已串連server的用戶端的個數。。用這個show full processlist;語句得到了十幾條記錄,而且記錄有重複的,就像你上面的那樣,同一個使用者登入它顯示有兩條記錄,而我想得到的是1.
這個命令看到host
對host去冗餘就是你要的了
查看MySQL串連數方法2010-06-09 13:031、查看當前所有串連的詳細資料:
MySQLadmin -uroot -proot processlist
D:\MySQL\bin>MySQLadmin -uroot -proot processlist
+-----+------+----------------+---------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+------+----------------+---------+---------+------+-------+------------------+
| 591 | root | localhost:3544 | bbs | Sleep | 25 | | |
| 701 | root | localhost:3761 | | uery | 0 | | show processlist |
+-----+------+----------------+---------+---------+------+-------+------------------+
2、只查看當前MySQL串連數(Threads就是串連數.):
MySQLadmin -uroot -proot status
D:\MySQL\bin>MySQLadmin -uroot -proot status
Uptime: 2102 Threads: 3 Questions: 15531 Slow queries: 0 Opens: 0 Flush tab
les: 1 Open tables: 61 Queries per second avg: 7.389
3、修改MySQL最大MySQL串連數:
開啟my.ini,修改max_connections=100(預設為100)。
正確修改MySQL最大串連數的三種好用方案