質問
MySQL データベースを使用している場合、よくこのような問題が発生します。これは、MySQL にアクセスする未解放の接続数が MySQL の上限に達したためです。通常、MySQL のデフォルトの最大接続数は 100 で、最大数は 16384 に達する可能性があります。 Can not connect to MySQL server. Too many connections
解決策 1: コマンドを使用する
set GLOBAL max_connections=100;
操作には root 権限を持つ mysql アカウントが必要であることに注意してください。そうでない場合は、エラー
が報告されます。
“1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation”
同時に、上図からわかるように、max_connections の最小値を 1 に設定します。
設定完了後、別の端末で接続したところ、
というエラーメッセージが報告されました。
1040-Too many connections
解決策 2: my.cnf を変更する
mysql 設定ファイルを開く
、これで有効になります。
vim /etc/my.cnf
,加入max_connections=100一行
(如果有,直接修改值即可),然后重启服务:/etc/init.d/mysqld restart
違い:
1. 構成ファイルを変更するには、サービスを再起動する必要があります。コマンドで変更すると、すぐに有効になります。
2. 設定ファイルを変更して、より安定性と信頼性を高めます。設定ファイルに
があり、コマンドを使用してそれを変更した場合、mysql サービスが再起動されると、設定ファイルで指定された接続数が再び使用されるためです。
max_connections=100
概要:
最大接続数を変更する場合、値が大きいほど良いのか、それともどのくらいの値に設定する必要があるのかという疑問があります。このパラメータのサイズは、使用するプラットフォームでサポートされるスレッド ライブラリの数 (Windows は最大 2048 までしかサポートできない)、サーバー構成 (特にメモリ サイズ)、各接続が占有するリソースなど、多くの要素に基づいて検討する必要があります。 (メモリや負荷)どの程度、システムが要求する応答時間などこのパラメータは、グローバル スコープまたはセッション スコープで変更できます。接続数の増加は多くの連鎖反応を引き起こすため、これによって引き起こされる悪影響は実際には回避する必要があります。この記事が mysql を使用するすべての人に役立つことを願っています。