この種のエラーは、明らかに mysql_connect の後に mysql_close を忘れたために発生します。
多数の接続が行われると、「接続数が多すぎます」というエラーが表示されます。mysql 接続のデフォルト数は 100 です。このエラーはどのような状況で発生しますか?
通常の mysql_connect の後、mysql_close() が呼び出されて接続が閉じられます
ただし、接続エラーが発生した場合、mysql_real_query() がエラーで終了すると、mysql_close(); を忘れてしまう可能性があります。
したがって、プログラムが戻る前に、次のことを判断する必要があります。最も安全な方法は、関数を作成するときに終了を 1 つだけにすることです。
mysql 設定ファイルを変更することで、許可される接続の数を増やすこともできます。
サーバーで次のようなエラーが頻繁に発生することがあります:
エラー メッセージは次のとおりです:
Can not connect to MySQL server Error: Too many connections Errno.: 1040 Similar error report has beed dispatched to administrator before.
公式ドキュメントによると、Linux にコンパイルおよびインストールされた mysql のデフォルト接続は 100 であることがわかります
ドキュメント:
http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html
Mysql 公式max_connections の値を変更する必要があることがわかります。では、どのように変更すればよいのでしょうか?方法は 2 つあります
1. 設定ファイルファイルを変更します
ファイル /etc/my.cnf を変更し、[mysqld] に max_connections=N を追加します。このファイルがない場合は、support-files フォルダーからダウンロードしてください。コンパイルされたソース コードを /etc/my.cnf にコピーします。中サーバー構成の my-medium.cnf を使用しています。たとえば、私の[mysqld]の内容は次のとおりです
[mysqld] port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer = 160M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M max_connections=1000
mysqlにあまり詳しくないため、多くのパラメータは変更されていません。ははは。 。
2. mysqld スクリプトを使用して自動起動しないユーザー。
$MYSQL_HOME/bin/mysqld_safe ファイルを変更します
例:
/usr/local/mysql/bin/mysqld_safe这个文件 grep -n ‘max_connection’ $MYSQL_HOME/bin/mysqld_safe
対応する行番号の max_connections パラメータ値を変更します
以上がMySQL データベース エラー: 接続が多すぎる解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。