MyISAMマージテーブルとして作成されたテーブルをダンプするためにmysqldumpを使用できないようです。マージテーブルのmysqldump
私がしようとすると、create table構文を持つファイルを(正しい)ダンプしますが、基礎となるテーブル内のデータはダンプしません。
これは予期しているバグか、それとも既知のバグですか? mysqldumpの動作をMRG_MyISAMテーブルに複製するにはどうすればよいですか?
MyISAMマージテーブルとして作成されたテーブルをダンプするためにmysqldumpを使用できないようです。マージテーブルのmysqldump
私がしようとすると、create table構文を持つファイルを(正しい)ダンプしますが、基礎となるテーブル内のデータはダンプしません。
これは予期しているバグか、それとも既知のバグですか? mysqldumpの動作をMRG_MyISAMテーブルに複製するにはどうすればよいですか?
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;
これは私が想像したことです:(新しいテーブルにコピーする間欠的なステップを保存しようとしていました(これは大きなものです)。 最初にla mysqldump?これは、別のDB /サーバーに簡単にインポートするのに最適です。 – DNadel
MySQLには、MyISAMマージテーブルによくある問題がいくつか記載されています。コードがなければ、具体的な問題を特定することはできませんが、これは始めるのに適しています:http://dev.mysql.com/doc/refman/5.1/en/merge-table-problems.html
どのような正確なコードは、ダンプのために使用していますか? – citizenen