前言
這幾天網站時常出現 「建立資料庫連線時發生錯誤」,而當下的緊急處理就是先「重啟Mysql」,但是似乎沒有用。因此更進一步的直接「修改db的密碼」,不過在修改密碼的部份要注意一點,修改的密碼要和原密碼相同才行。否則連「wp-config.php」此檔也要修改。
處理方式
以上提到的「重啟Mysql」和「修改db的密碼」都只是應急的處理。只能暫時性的解決此問題。過段時間還是會再出現問題。在查詢了一下LOG會看到 [ERROR] Database error User ‘dbname’ has exceeded the ‘max_questions‘resource (current value: 2000)此訊息是說明因為該資料庫「dbname」的連線數已經達到了上限。
所以要解決此問題,有三種方式提供參考。
方法一
如果可以ssh到該主機的話,可以直接自行修改「max_questions」所設定的上限。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22  | 
						[root@localhost ~]# mysql -u帳號 -p密碼 mysql> use mysql     #切換到Mysql資料庫 Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with –A mysql> select user, max_questions from user;    #查看各user的max_questions限制 +-------+---------------+ | user  | max_questions | +-------+---------------+ | root  |             0 |  | root  |             0 |  | root  |             0 |  |       |             0 |  |       |             0 |  | derek |          5000 |  +-------+---------------+ 6 rows in set (0.00 sec) mysql> update user set max_questions = 0 where user = 'derek';  #修改derek 此user的max_questions 可依個人需求設定,或設為0即為沒有限制 Query OK, 1 row affected (0.00 sec) Rows matched: 1  Changed: 1  Warnings: 0 mysql> flush privileges;    #讓設定立即生效 Query OK, 0 rows affected (0.00 sec)  | 
					
方法二
新增一個「資料庫使用者」。此方式比較偏向於無法登入主機,也就是跟主機商承租空間的使用者。
1. 新增的方式有以下幾種「登入主機新增Mysql使用者」「phpMyAdmin新增使用者」
「virtual hosting提供的後台新增使用者」可依個人而定
1.1 登入主機新增Mysql使用者
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13  | 
						[root@localhost ~]# mysql -u帳號 -p密碼 mysql> GRANT ALL PRIVILEGES     -> ON *.*     -> TO derek@localhost     -> IDENTIFIED BY '123456789';     -> Flush privileges; (說明)    ALL PRIVILEGES      : 對應權限       localhost           : 允許登入IP        Derek               : 資料庫使用者名稱        123456789           : 資料庫使用者密碼        Flush privileges;   : 刷新權限,使其設定生效  | 
					
1.2 phpMyAdmin新增使用者
如果有安裝phpMyAdmin的話,也可用phpMyAdmin來新增使用者。
1.3 virtual hosting提供的後台新增使用者
如果主機商有提供後台的話,也可直接從後台做新增使用者。
2. 在新增使用者後,接著要修改「wp-config.php」內的相關設定。
請把wp-config.php修改成新增加的帳號和密碼。
方法三:
新增多個使用者,使其能隨機使用。簡單來說就是,假設Mysql最大連線數是5000,如果我新增了三個使用者,
上限就會變為5000*3=15000。此方式也較偏向於承租空間的使用者。
增加的方法如同方法二的三種新增辦法。基本上使用方式方法一和方法二就可以解決此問題了。



![[問題紀錄]Rubygem mysql 問題](http://blog.faq-book.com/wp-content/uploads/2013/02/default-150x150.png)










評論
此文章尚無評論。