1

データベースをバックアップするために mysqldump で使用しているスイッチは次のとおりです。

/usr/bin/mysqldump -u **** --password=**** --single-transaction --database ****  > /filepath/filename.sql

Windows(サーバーはLinux)を使用してローカルデータベースにインポートしています:

mysql -u root 

use databasename

source c:/filepath/filename.sql

サーバー データベースとローカルを比較すると、innodb テーブルがありません。以下は「show engine;」の結果です。ローカル データベース:

エンジンを表示

4

2 に答える 2

0

最後に、ローカルデータベースを完全に消去してからバックアップからデータベースをリロードすることでこれを修正しましたが、ローカルデータベースに innodb テーブルが表示されなかった理由はわかりませんが、修正されました

于 2013-03-22T11:06:37.420 に答える
0

それは--single-transactionオプションかもしれません。ダンプ中にテーブルを変更している可能性はありますか? もしそうならalter table、トランザクションの外で行われます。一時テーブルを作成し、元のテーブルを削除して、一時テーブルの名前を変更します。元のテーブルは「なくなる」ため、ダンプ ファイルには含まれません。

代わりに --lock-tables を使用してみて、それが機能するかどうかを確認できます。

于 2013-03-19T14:59:03.543 に答える