3

これを検索してみましたが、これまでのところ、「データなしでテーブルスキーマをエクスポートする」という結果しか見つかりません。これは、私がやりたいこととは正反対です。スクリプトでテーブルを再作成せずにSQLテーブルからデータをエクスポートする方法はありますか?

誰かがより良い解決策を持っている場合に私が解決しようとしている問題は次のとおりです。私は2つのデータベースを持っており、それぞれが異なるサーバー上にあります。それらを生のデータベースと分析データベースと呼びます。生のデータベースは「実際の」データベースであり、サーバーに送信されたレコードを収集し、トランザクションInnoDBエンジンを使用してそれらをテーブルに格納します。分析データベースは内部LAN上にあり、rawデータベースをミラーリングすることを目的としており、rawデータベースと一致するように定期的に更新されます。データの分析と処理を行うプログラムがあり、ライブサーバーでは実行したくないため、このように分離されています。

分析データベースは単なるコピーであるため、トランザクションである必要はありません。データのインポートとクエリの実行がはるかに高速であることがわかったため、テーブルにMyISAMエンジンを使用する必要があります。問題は、ライブrawデータベースからテーブルをエクスポートすると、テーブルスキーマもエクスポートされ、テーブルエンジンがInnoDBに設定されるため、スクリプトを実行してデータを分析データベースにインポートすると、MyISAMテーブルが削除されることです。そしてそれをInnoDBテーブルとして再作成します。データのエクスポート/インポートのこのプロセスを自動化したいのですが、生成されたSQLスクリプトファイルがテーブルエンジンをMyISAMからInnoDBに変更するというこの問題が原因で、回避方法がわかりません。私が知っている唯一の方法は、ライブのrawデータベースに直接アクセスできるプログラムを作成し、クエリを実行することです。

4

2 に答える 2

7

このような?

mysqldump --no-create-info ...
于 2012-09-27T17:08:44.453 に答える
1

no-create-infoオプションを使用する

mysqldump --no-create-info db [table]
于 2012-09-27T17:09:49.077 に答える