web-dev-qa-db-ja.com

MySQLのバグ修正が必要:[警告]無効な(古い?)テーブルまたはデータベース名 '#sql-'

本番環境には、マスターと複数のスレーブレプリケーションがあります。最初に、私はこのエラーをマスターのmysqlエラーログで検出し、後でスレーブで検出しました。すべてのレプリケーションに関しては、データベースは問題なく、スレーブの更新はうまく機能しています。それにもかかわらず、このエラーはmysqlエラーログに表示されます。私はググってチェックしました。それはバグです。

マスターと複数のスレーブアーキテクチャを複製している複数のdbインスタンスがあったため、データベースに影響がありますか?

エラーログ :

111116 10:47:57 [Warning] Invalid (old?) table or database name '#sql-3d6f_122a#P#p7'
111116 10:47:57 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p8'
111116 10:47:57 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p9'
111116 10:47:57 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p10'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p1'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p2'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p3'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p4'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p5'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p6'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p7'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p8'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p9'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p10'
111116 10:48:46 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p1'
111116 10:48:46 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p2'
111116 10:48:46 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p3'
111116 10:48:46 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p4'
.....................................................................................;

エラーは警告状態です。しかし、グーグルでタグ[エラー]状態も確認できるので、

[ERROR] Invalid (old?) table or database name 't1#p#p4'
[ERROR] Invalid (old?) table or database name 't1#p#p2'
[ERROR] Invalid (old?) table or database name 't1#p#p2'
  • 70と数千のテーブルに複数のDbインスタンスがありました。複数のインスタンス間で特定のテーブルをトレースするクエリは何ですか?

    • 誰かがこのバグに直面し、問題を解決しましたか?私の奴隷全員がすぐにこの問題に追いつくでしょう。本番環境への影響は...?
  • Innodb_lock_monitorを有効にすると、これらのメッセージの多くが出力されます!テーブルを作成しますinnodb_lock_monitor(a int)engine = innodb;その場合は、有効にできません。私もinnodbエンジンのステータスを見ました。エラー/警告に関連するアイデンティティの兆候はありません。

  • 「以前のバージョンで作成されたデータベースでMySQLサーバーを起動しますか?」しかし、私はそれをしていませんでした。バージョン5.1.39で実行されています

  • プラグインはアップグレードされていません。それで、このエラー/バグの根本的な原因と対処法は何ですか?

5
Gopinath

この場合、2つの理由でバグが存在します。

111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p1' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p2' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p3' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p4' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p5' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p6' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p7' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p8' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p9' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p10' 

理由#1#sqlで始まるすべてのテーブルは一時テーブルです。これらのテーブルがデータベースフォルダーと日時スタンプにまだ存在する場合は、単に削除します。

理由#2:各テーブルの接尾辞をよく見てください。 #P#p?は、パーティションタグに似ています。これは、パーティションを使用して一時テーブルを作成しようとしていることを示します。それは正気に聞こえません。 これについては、2006年2月16日にMySQL 5.1.7-beta(2006年3月15日終了)のバグレポートがありました 。バグレポートは、これを手動で実行しようとすることに基づいています。 mysqlはこれを内部で実行しようとしていますか?

私見MySQLをMySQL 5.1からMySQL 5.5にアップグレードします

3
RolandoMySQLDBA