MySQLエラーの概要:接続が多すぎます
需要の高いWebアプリケーション(サイト、ブログ、フォーラムなど)がある場合、つまり多数のユーザーがアクセスする場合、これはサーバーでの消費量の増加につながります。 上記のWebアプリがMySQLデータベースを使用していて、クエリが本当に多い場合(Webのプログラミングが不適切であるか、Webを使用している多くのユーザーが原因)、MySQLがこのエラーを表示する可能性があります:
mysqli_connect(): (HY000/1040): Too many connections
MySQL:Too Many Connectionsエラーはどういう意味ですか?
これは、MySQLに対して、受け入れ可能以上に、キューまたは待機可能以上に、非常に多くの要求が来ていることを意味します。
それを解決する方法は?
簡単ですが、MySQLがサポートするリクエスト(接続)の上限を増やす必要があります。
この問題を解決するためのXNUMXつのオプションを紹介します。
1. ファイル/etc/mysql/my.cfgを編集します。
nano /etc/mysql/my.cfg
その中で、[mysql]と書かれている場所の下に以下を置きます。
max_connections = 500 max_user_connections = 500
これにより、接続の最大数が100(デフォルト)から500に増加します。
保存して終了し、MySQLサービスを再起動します。これで完了です。 この変更は永続的です。
2. この問題を解決する別の方法は、最大制限を等しく変更することですが、MySQLクエリを使用します。
まず、現在の制限を示しましょう。
mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'
これにより、次のようなものが表示されます。
+ ----------------- + ------- + | Variable_name | 値| + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +
言い換えると、現在の制限は151接続です。では、クエリを使用して500に上げましょう。
mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'
準備完了
この方法での問題は、サービスを再起動すると、この構成が失われることです。
この詳細を提供するために、X回ごとに検証するbashスクリプトを作成したり、デーモンの開始ブロックまたは再起動ブロックに行を追加したりすることもできます😉
しかし、なぜ私はこの2番目のオプションを知りたいのですか? ...まあ、それは私が言っていたものです。 しかし、1か月前、UbuntuサーバーはメソッドNo.2を無視したため、...愚かなOSの極端なケースでは、このXNUMX番目のオプションも同様に機能します😉
良い投稿、MySql…FreeBSDでよく使用されます….KZKG ^ Gaara?、…MySqlをFreeBSDにインストールして構成する方法について、SSH(セキュアシェル)、SSH(Web経由)、SFTPのように投稿するとよいでしょう。 (SSH-ファイル転送プロトコル)、Apache-PHP- MySql、PHP5およびPhpSysInfo拡張。
このため、FreeBSDをインストールする必要があります。今は時間がないと思います。転職したばかりで、多くの新しい責任があります🙁
私は最近、nodejsを使用したプロジェクトで同様のことをしなければなりませんでした。 私の場合、それは250に増加し、それで十分でした。今のところ、私はうまくやっています。 情報のおかげで
こんにちは、/ etc / mysql / my.cfgの入力方法を教えていただけますか?
私はVPSを持っていますが、PUTTYに参加できません。
ご挨拶。
オプション1の問題を解決するには、オプションにコメントを付け、サーバーを再起動するときに変更を保持するには、バージョンに応じてファイルを編集する必要があります。
/////////////////////////////////////////////////////////////// ////////////////////
// Ubuntu16.04のディレクトリを変更します////////////////////////
/////////////////////////////////////////////////////////////// ////////////////////
/etc/mysql/mysql.conf.d/mysqld.cnf を見ました
/////////////////////////////////////////////////////////////// ////////////////////
// Ubuntu15.04のディレクトリを変更します////////////////////////
/////////////////////////////////////////////////////////////// ////////////////////
vi /etc/mysql/mariadb.conf.d/mysqld.cnf
/////////////////////////////////////////////////////////////// ////////////////////
// Ubuntuの古いディレクトリを変更します////////////////////////
/////////////////////////////////////////////////////////////// ////////////////////
/etc/mysql/my.cnf を見ました
/////////////////////////////////////////////////////////////// ////////////////////
//この行を[mysqld]または[mysql]タグの下に追加します//
//次にサーバーを再起動します//
/////////////////////////////////////////////////////////////// ////////////////////
最大接続数 = 500
ゼロからのチュートリアルは、それを変更する方法を教えてくれません