2012-04-12 11 views
1

MyISAMマージテーブルとして作成されたテーブルをダンプするためにmysqldumpを使用できないようです。マージテーブルのmysqldump

私がしようとすると、create table構文を持つファイルを(正しい)ダンプしますが、基礎となるテーブル内のデータはダンプしません。

これは予期しているバグか、それとも既知のバグですか? mysqldumpの動作をMRG_MyISAMテーブルに複製するにはどうすればよいですか?

+0

どのような正確なコードは、ダンプのために使用していますか? – citizenen

答えて

1

MERGEテーブルは単なるMyISAMテーブルのマッピングです。

基礎となるテーブルをダンプする必要があります。

あなたはエミュレーションのいくつかの種類が(ストレージエンジンMrg_MyISAMあるmydb.mymergetableと呼ばれる表用)MERGEテーブルをmysqldumpをしたい場合は

USE mydb 
CREATE TABLE myhardtable LIKE mymergetable; 
ALTER TABLE myhardtable ENGINE=MyISAM; 
INSERT INTO myhardtable SELECT * FROM mymergetable; 

今、ちょうどこの操作を行います。

mysqldump -u... -p... mydb myhardtable > /root/MyMergeData.sql 

をあなたもこれを行うことができます

SELECT * INTO OUTFILE '/root/MyMergeData.sql' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
FROM mydb.myhardtable; 
+0

これは私が想像したことです:(新しいテーブルにコピーする間欠的なステップを保存しようとしていました(これは大きなものです)。 最初にla mysqldump?これは、別のDB /サーバーに簡単にインポートするのに最適です。 – DNadel

関連する問題