MySQL エラー: 接続数が多すぎる場合の解決策

MySQL エラー: 接続数が多すぎる場合の解決策

MySQLデータベースの接続が多すぎます

このエラーは明らかに、mysql_connect の後に mysql_close を呼び出すのを忘れた場合に発生します。

接続数が多すぎると、「接続数が多すぎる」というエラーが発生します。MySQL のデフォルトの接続数は 100 です。どのような状況でこのエラーが発生しますか?

通常の mysql_connect の後、mysql_close() を呼び出して接続を閉じます。

ただし、接続エラーが発生した場合、または mysql_real_query() がエラーで終了した場合は、mysql_close() の呼び出しを忘れる可能性があります。

したがって、プログラムが戻る前に、close() を実行するかどうかを判断する必要があります。最も安全な方法は、関数を記述するときに exit を 1 つだけ用意することです。

MySQL 構成ファイルを変更することで、許可される接続数を増やすこともできます。

サーバーで次のようなエラーが頻繁に発生することがあります:

エラーメッセージは次のとおりです。

MySQLサーバーに接続できません

エラー: 接続が多すぎます

エラー番号: 1040

以前にも同様のエラーレポートが管理者に送信されています。

公式ドキュメントによると、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 フォルダーから必要な *.cnf ファイルを /etc/my.cnf にコピーします。私は中規模サーバー構成の my-medium.cnf を使用しています。例えば、私の[mysqld]の内容は次のようになります

[mysqld]

ポート = 3306

ソケット = /tmp/mysql.sock

スキップロック

キーバッファ = 160M

最大許容パケット = 1M

テーブルキャッシュ = 64

ソートバッファサイズ = 512K

ネットバッファ長 = 8K

読み取りバッファサイズ = 256K

読み取りバッファサイズ = 512K

myisam_sort_buffer_size = 8M

最大接続数=1000

MySQLにあまり詳しくないので、多くのパラメータは変更されていません。ハハハ。 。

2. mysqld スクリプトを使用して自動的に起動しないユーザー。

MYSQLHOME/bin/mysqldsafe ファイルを変更します。たとえば、このファイル /usr/local/mysql/bin/mysqldsafe で grep −n'maxconnection' を実行します。

MYSQLHOME/bin/mysqldsafe ファイル 例: /usr/local/mysql/bin/mysqldsafe このファイル grep −n'maxconnection′MYSQL_HOME/bin/mysqld_safe

対応する行番号のmax_connectionsパラメータ値を変更します。

3. サーバーログインmysql: mysql -u root -p

90% の確率で、入ることができません。入ることができない場合は、再起動コマンドを実行します: /etc/init.d/mysql restart (centos システム)

この時点で、mysql に接続するために、mysql を再起動します。まだ時間がある場合は、次の手順に進むことができます。

設定ファイルを開き、次の設定を追加します: vi /etc/my.cnf

待機タイムアウト = 600

インタラクティブタイムアウト = 600

もう一度mysqlを再起動します

原則的な回答

MySQL のデフォルトの接続数は 100 です。制限を超えると接続できなくなります。実際に機能している接続数は 100 よりはるかに少なく、そのほとんどはスリープ モードになっています。

したがって、接続数を増やすか、不要な接続を切断します。後者をお勧めします。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • MySQL「接続が多すぎます」エラー MySQL 解決策
  • MySQL 1040 エラー「接続が多すぎる」を解決する方法
  • MySQL エラー接続数が多すぎる場合の解決策
  • MySQL 接続数を設定する方法 (接続数が多すぎる)
  • MySQL のオープン接続が多すぎる問題の解決策
  • MySQL の接続数が多すぎるエラーの原因と解決策
  • MySQL エラー「接続が多すぎます」を解決する方法

<<:  Vueはダイアログのカプセル化を実装します

>>:  LinuxでJenkinsのパスワードを忘れる方法

推薦する

CSS レイアウト チュートリアル: 垂直方向の中央揃えを実現する方法

序文最近、フロントエンドの知識をまとめており、いくつかのインタビューにも参加しました。インタビュー中...

TomcatはXMLを解析し、リフレクションを通じてオブジェクトを作成します。

次のサンプル コードでは、Tomcat が XML を解析し、リフレクションを通じてオブジェクトを作...

VirtualBox の仮想ディスク vdi ファイルの容量を拡張する方法 (グラフィック チュートリアル)

VirtualBoxのインストールディレクトリを見つけます。ディレクトリ内には容量を拡張するために...

MySQL マスター スレーブ データが矛盾しています。プロンプト: Slave_SQL_Running: 解決策はありません

この記事では、MySQL マスターとスレーブ データ間の不一致の解決方法と、プロンプト「Slave_...

MysqlチューニングExplainツールの詳細な説明と実践的な演習(推奨)

MySQL チューニング ツールの詳細な説明と実践的な演習の説明 ツールの紹介の説明 分析例の説明...

インストールされていないバージョンの MySQL を使用する手順とパスワードを忘れた場合の解決策

最初のステップは、圧縮されたパッケージを対応するディスクに解凍することです。 2 番目の手順は、cm...

Linux の ufw ファイアウォールの紹介

Linux のufw (Uncomplicated Firewall) を見て、ファイアウォールに変...

Windows 10 で MySQL 8.0.12 の解凍バージョンをインストールして構成する方法 (グラフィック チュートリアル付き)

この記事では、MySQL 8.0.12 の解凍版のインストールと設定方法を記録し、皆様と共有します。...

MySQLインデックスの基本構文

インデックスはソートされたデータ構造です。 where 条件での検索や order by 条件での並...

IE8互換表示(IE7モード)とスタンドアロンIE7の違いの詳細な説明

1つ。 IE8 互換表示の概要<br />新しいバージョンのブラウザが古い Web サイ...

mysql5.6.8 ソースコードのインストールプロセス

カーネル: [root@opop ~]# cat /etc/centos-release CentO...

Navicatを使用してクラウドサーバーデータベースにリモート接続する方法

秘密鍵を開かずにリモート サーバーのデータベースに接続するのは非常に便利です。新しい接続でデータを入...

MySQL 5.7 における部分テーブルのデュアルマスター同期の実装プロセスの詳細な説明

序文最近、私はある要件に遭遇しました。会社の業務上、2 つのデータベース間の一部のテーブルは、リアル...

Vue はアップロードした画像に透かしを追加できるようになりました (アップグレード版)

vueプロジェクトでは、アップロードした画像に透かしを追加して参照できるようにするアップグレード版...

JavaScript で 2 次元配列を作成するためのヒント

Js での 2 次元配列の作成:まず、JavaScript は 1 次元配列のみをサポートしています...