2

データベース フォルダを Windows システムC:/wamp/bin/mysql/mysql.XX/data/database_nameから Linux システムにコピーしました/var/lib/mysql/database_name

ターミナルを介してmysqlに接続し、クエリを実行show tables;してデータベース内のすべてのテーブルを表示しましたが、実行するselect * from table_namedesc table_nameエラーが表示されますERROR 1146 (42S02): Table 'database_name.table_name' doesn't exist

誰でもそれについて考えがありますか?

4

2 に答える 2

5

ibdata1をバックアップから/var/lib/mysqlにコピーすることで解決した同じ問題がありました。

データベース全体を回復しようとしていましたが、1 つのテーブルだけで何が起こるかわかりません。

于 2014-02-19T11:00:55.127 に答える
0

mysqldumpデータベースのコピーに使用します。バイナリデータファイルはコピーしないでください。

バイナリファイルを手動でコピーすると、一部の内部データに一貫性がなくなる可能性があります。たとえば、一部のトランザクションが終了しない場合があります。

また、データファイルを別のmysqlバージョン/ストレージエンジンバージョンに移動すると、エンジンが新しい/以前のバージョン形式のファイルを読み取れない場合があります。

また、システムエンコーディングが異なる場合があるため、WindowsとLinuxでは内部データ表現が異なり、完全に互換性がない場合があります。

于 2012-09-25T10:34:00.513 に答える