[PHP-users 26371] Re: PHP と MySQL 接続について

T.Sasaki papasan2000 @ excite.co.jp
2005年 8月 5日 (金) 11:47:14 JST


佐々木です。
MySQL の接続制限には少なくとも2種類存在します。

1. my.cnf 等で設定できる max_user_connections (server 全体の制限値) 
2. ユーザー単位の制限値 USER_RESOURCES( questions, updates, connections ... )

今回のエラーは 2. の値に起因するものです。
MySQL は1時間以内の同一ユーザによる同時接続数がこの値を超えると下記エラーを生成します。

Windows 版 )
  Message: User '#1' has exceeded the 'max_connections' resource (current value: #2)
Linux 版 )
  Message: User '#1' has exceeded the 'max_connections_per_hour' resource (current value: #2)
#1 対象となるユーザ名
#2 1時間以内の同一ユーザによる同時接続数

値が 0 ならエラーは生成されません。
ですから、

SELECT User, Host, max_questions, max_updates, max_connections, max_user_connections FROM  mysql.user WHERE User = '#1';

を発行して、一度対象となるユーザの制限値を確認するとよいでしょう。
デフォルトでは max_user_connections, USER_RESOURCES 共に 0 のはずです。
詳しい情報、対処法などは、

4.4.7. ユーザリソースの制限
http://dev.mysql.com/doc/mysql/ja/user-resources.html

を参照してください。

尚、max_user_connections の値を超える同時接続が発生したときは下記エラーが生成されます。
 User '#1' has already more than 'max_user_connections' active connections
文言の違いに注意してください。


"Masatoshi Ishikawa" <masato-i @ yj8.so-net.ne.jp> wrote:
> はじめまして いしかわ と申します.
> 
> 以下の環境で, PHPプログラムを作成しているのですが,
> 
> OS        :MS-Windows XP HE sp2
> PHP      :4.3.11
> MySQL  :4.1.11-nt via TCP/IP
> Apache  :2.0.54
> 
> 何度かページを遷移して,あるページのmysql_connect(・・・) を
> 実行すると,MySQLとのコネクションが溢れ,以下のようなエラー
> が出力されMySQLとの接続ができなくなります.
> 
> User 'xxx' has exceeded the 'max_connections' resource (current value: 5)
> 
> ページごとに mysql_close を実行しているのですが,コネクションが解放
> されていないことが問題だと思っています.いろいろ検索をかけてみたので
> すが,いまひとつピンとくる解決方法についての情報が得られませんでした.
> 
> ちなみにPHP側からMySQLへの接続するためのアカウントは,1つに
> 限定しています.また,MySQL側のコネクションに関する設定は以下の
> ようになっています.
> 
> Max Connections   : 1000
> Thread cache size  : 16
> 
> 何かよい解決方法などありましたら,よろしくお願いします.
> 
> ---------------------------
> いしかわ まさとし
> masato-i @ yj8.so-net.ne.jp 
> 
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
> 


PHP-users メーリングリストの案内