安裝了一個程式,大通路量測試的時候發現竟然連接配接不上資料庫了,仔細檢查發現MySQL資料庫出現1040錯誤,提示“too many connections”。那麼改如何解決這個問題呢?
其實MySQL預設的最大連接配接數為100,可能在大通路量的時候造成了連接配接不上資料庫。
解決的辦法:
<code>mysql版本:mysql> </code><code>select</code> <code>version();</code>
<code>+------------+</code>
<code>| version() |</code>
<code>| 5.6.35-log |</code>
<code>1 row </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>
<code>mysql> show variables like </code><code>'max_connections'</code><code>; </code><code>//</code><code>檢視mysql的最大連接配接數可以看到是150</code>
<code>+-----------------+-------+</code>
<code>| Variable_name | Value |</code>
<code>| max_connections | 150 |</code>
<code>1 row </code><code>in</code> <code>set</code> <code>(0.01 sec)</code>
<code>mysql> </code><code>set</code> <code>GLOBAL max_connections=500; </code><code>//</code><code>更改連接配接數,這裡的連接配接數要根據通路量更改,可以看到我更改時出現了如下的問題。</code>
<code>ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) </code><code>for</code> <code>this operation</code>
<code>[root@chy01 ~]</code><code># vim /etc/my.cnf</code>
<code>[mysqld]</code>
<code>skip-grant-tables </code><code>//</code><code>跳過權限驗證。</code>
<code>儲存退出</code>
<code>mysql> </code><code>set</code> <code>GLOBAL max_connections=500; </code><code>//</code><code>再次修改</code>
<code>Query OK, 0 rows affected (0.00 sec)</code>
<code>mysql> show variables like </code><code>'max_connections'</code><code>; </code><code>//</code><code>修改成功</code>
<code>| max_connections | 500 |</code>
<code>如上是在mysql中的操作</code>
如果想要一直生效需要在配置檔案中修改,但是需要重新開機mysql服務。(線上伺服器謹慎操作)
<code>max_connections = 500</code>
本文轉自我不是瘦子51CTO部落格,原文連結:http://blog.51cto.com/chy940405/1980022,如需轉載請自行聯系原作者