古いシステムからmysqlファイルをコピーすると、接続時にエラーが発生しますが、どうすればよいですか?

古いシステムからmysqlファイルをコピーすると、接続時にエラーが発生しますが、どうすればよいですか?

まず、ファイルを持っていましたが、古いシステムは消えました。

そのフォルダをそこに入れて、/var/lib/mysql/その中にある mysql フォルダに権限を与えました。ユーザーmysqlグループのルートは私のユーザーにのみアクセスできます。

localhostサイトにアクセスしようとすると、mysqlデータベースエラーが発生します。しかし、私の考えでは、すべてがまだ以前と同じだと思います。これを行うにはどうすればよいですか?

Cannot find or open table blabla/wp_options from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.
See http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
how you can resolve the problem.

ログファイルにはこのようなエラーがたくさん表示されます。今この.frmファイルを削除する必要がありますか?

答え1

.frm現象:はい、ファイルがない場合はファイルを削除する必要はありませんibdata

引用する14.2.4.7。 InnoDBデータ辞書操作のトラブルシューティング「これは、そのテーブルを持たないInnoDBに孤立した.frmファイルがあることを意味します。」

したがって、.frmaのないファイルはInnoDB別々のファイルです.frm


しかし、私のコメントリンクは次のとおりです。14.2.2.4。 InnoDBデータベースのバックアップと復元そして14.2.1.2. InnoDBの設定与えられたものを組み合わせるプロムリンクの形式。

/var/lib/mysql/私はあなたが内部のファイルもコピーしたと思いました。残念です。

特に、ログファイルにはメモリにコミットされたコミットのみが含まれます。アーカイブされない説明どおりここ、 - したがって、すべては、前回データベースをどのように閉じたかによって異なります。


問題が解決されてよかったです;)

答え2

実際のデータベースをコピーしていないことがわかりました。フォルダ内のすべてのエントリを調べたところ、テーブル名を含む.frmファイルと65ビットのdb.optファイルが含まれているため、これが実際のデータベースになることはできません。

すべて/var/lib/mysql/ルートディレクトリのibdata1ファイルにあり、データベースは以前に作成したデータベース名のフォルダ内にあると思います。

したがって、いいえ。 .frm ファイルやその他のエントリを削除する必要はありません。 (mysqlサーバーの停止中に)ibdata1ファイルをコピーしましたが、すべてがうまく機能します。

関連情報