本番環境には、マスターと複数のスレーブレプリケーションがあります。最初に、私はこのエラーをマスターの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で実行されています
プラグインはアップグレードされていません。それで、このエラー/バグの根本的な原因と対処法は何ですか?
この場合、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にアップグレードします