web-dev-qa-db-ja.com

mysqlインスタンスが多すぎます。殺す方法は?

私は自分のことを恥ずかしく思うはずです。

添付のスクリーンショットをご覧ください。 enter image description here

確かに大量のトラフィックが発生していない私のサーバーは、この過負荷にならないはずです。 Mysqlはパーティーを開いて、みんなを招待しています。問題は、この種のワイルドパーティーが好きではないことです。

これをどうやって殺すの?継続的に発生しないようにするにはどうすればよいですか?間もなく私のホストは警察に電話をかけるつもりで、パーティーは皆のために終わります。

5
1Up

あなたが見るものにだまされてはいけません。

mysqldは、同じdatadirおよびibdata1で複数のインスタンスを実行しません。どうすればわかりますか?

2014年9月26日、私は MySQLはシグナル11エラーを受け取り、スレーブはダウンしています と回答しました。私の回答では、InnoDBアーキテクチャが1つのmysqldプロセスにのみibdata1へのマスタースレッドを開くことを許可する方法について述べました。

したがって、エラーログに次の行が表示されない場合

6 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
2014-09-26 12:51:53 14166 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
2014-09-26 12:51:53 14166 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

これらのことに照らして、複数のmysqldプロセスはありません。

それで、あなたは何を見ていますか?これらは、mysqldインスタンスから発生する実際のDB接続です。私は、この奇抜な表示がmysqldのソースコンパイルバージョンからのものであることを見てきました。私は以前の投稿 innodb_buffer_pool_size not changed および Identical mysql processes(ServerFault) を渡すときにそれについて言及しました。私の疑いは、OSがmysqldプロセスであるかのようにDB接続を明示していることです。それどころか、それらは単なる通常のDB接続です。

これはLinuxで実行する必要があります

ps -ef | grep mysqld | grep -v grep | wc -l

2の出力が得られるはずです(mysqldの場合は1、mysqld_safeの場合は1)。

1だけを取得した場合、おそらく非常に古いバージョンのMySQLを取得しています。

4
RolandoMySQLDBA