只有mysqldump数据

我正在寻找转储所有数据在我的MySQL数据库的语法。 我不想要任何表信息。

mysqldump --no-create-info ...

如果你正在使用触发器,你还需要包含--skip-triggers

如果你正在使用--databases ...选项,你还需要包含--no-create-db

这应该工作:

 # To export to file (data only) mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql # To export to file (structure only) mysqldump -u [user] -p[pass] --no-data mydb > mydb.sql # To import to database mysql -u [user] -p[pass] mydb < mydb.sql 

注意 -p[pass]之间没有空格

  >> man -k mysqldump [enter in the terminal] 

你会发现下面的解释

–no-create-info,-t

不要编写重新创build每个转储表的CREATE TABLE语句。 注意:此选项不排除从mysqldump输出创build日志文件组或表空间的语句; 但是,您可以使用–no-tablespaces选项来达到此目的。

– 无数据,-D

不要写任何表行信息(也就是不要转储表内容)。 如果您只想转储表的CREATE TABLE语句(例如,通过加载转储文件来创build表的空副本),这非常有用。

 # To export to file (data only) mysqldump -t -u [user] -p[pass] -t mydb > mydb_data.sql # To export to file (structure only) mysqldump -d -u [user] -p[pass] -d mydb > mydb_structure.sql 

build议使用下面的代码片段。 即使有巨大的桌子也能正常工作(否则你会在编辑器中打开转储并去掉不需要的东西,对不对?)

 mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql 

至less需要MySQL 5.x ,但现在运行旧东西的人.. 🙂

只需以分隔文本格式转储数据。

尝试转储到分隔文件。

 mysqldump -u [username] -p -t -T/path/to/directory [database] --fields-enclosed-by=\" --fields-terminated-by=, 

当试图使用接受的答案导出数据时,我得到一个错误:

 ERROR 1235 (42000) at line 3367: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' 

正如刚才提到的:

 mysqldump --no-create-info 

将导出数据,但也会导出创build触发器语句。 如果像我一样用一个命令输出数据库结构(也包括触发器),然后使用上述命令获取数据,则还应该使用“–skip-triggers”。

所以如果你想要的只是数据:

 mysqldump --no-create-info --skip-triggers 

如果您只想要INSERT查询,请使用以下命令:

mysqldump --skip-triggers --compact --no-create-info