Image

ナレッジベース → エラー SQLSTATE[08004] [1040] Too many connections error

このエラーは、MariaDBデータベースサーバーの利用可能な接続数が使い果たされたことを示しています。この問題を解決するには、データベースに許可される接続数を増やす必要があります。

そのためには、以下の指示をファイルに追加または変更します:

/etc/mysql/my.cnf

これを[mysqld]セクションに追加します:

[mysqld]
max_connections = 800

変更を適用するには、次のコマンドでサービスを再起動します:

service mariadb restart

注意: 複数の異なるユーザーがデータベースに接続している場合は、各ユーザーの接続制限も設定する必要があります。これにより、1人のユーザーが接続数を超えた場合にデータベースのダウンタイムを防ぐことができます。

通常、1ユーザーあたり50の接続制限で十分です。もしこの制限を超える場合は、スクリプトに問題がある可能性があり、クエリの実行が遅いかどうかを確認する必要があります。

この場合、エラーメッセージは次のように異なります:
SQLSTATE[HY000] [1203] User someuser already has more than 'max_user_connections' active connections

全体の接続数制限を超えないようにするには、同じファイルに次の行を追加します:

[mysqld]
max_connections = 800
max_user_connections = 50

変更後、サービスを再起動します:

service mariadb restart

完了です。





No Comments Yet