繁体   English   中英

合并表上的mysqldump

[英]mysqldump on a merge table

我似乎无法使用mysqldump转储已创建为MyISAM合并表的表。

当我尝试这样做时,它只是转储其中包含创建表语法的文件(正确),但不包含基础表中的任何数据。

这是预期的还是已知的错误? 如何在MRG_MyISAM表上复制mysqldump的行为?

这应该是可以预期的。 MERGE表只是MyISAM表的映射。

您必须转储基础表。

如果您想要某种模拟来mysqldump MERGE表(对于名为mydb.mymergetable的表,其存储引擎为Mrg_MyISAM)

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;

MySQL列出了MyISAM合并表的许多常见问题。 没有更多代码,我无法确定您的特定问题,但这是一个不错的起点: http : //dev.mysql.com/doc/refman/5.1/en/merge-table-problems.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM