mysqldump命令导入导出数据库方法与实例汇总

2019-01-04 20:19:51王旭

 --compact

 产生少量输出。该选项禁用注释并启用--skip-add-drop-tables、--no-set-names、--skip-disable-keys和--skip-add-locking选项。

 --compatible=name

 产生与其它数据库系统或旧的mysql服务器更兼容的输出。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options或者no_field_options。要使用几个值,用逗号将它们隔开。这些值与设置服务器sql模式的相应选项有相同的含义。

 该选项不能保证同其它服务器之间的兼容性。它只启用那些目前能够使转储输出更兼容的sql模式值。例如,--compatible=oracle 不映射oracle类型或使用oracle注释语法的数据类型。

 --complete-insert,-c

 使用包括列名的完整的insert语句。

 --compress,-c

 压缩在客户端和服务器之间发送的所有信息(如果二者均支持压缩)。

 --create-option

 在create table语句中包括所有mysql表选项。

 ---database,-b

 转储几个数据库。通常情况,mysqldump将命令行中的第1个名字参量看作数据库名,后面的名看作表名。使用该选项,它将所有名字参量看作数据库名。create database if not exists db_name和use db_name语句包含在每个新数据库前的输出中。

 ---debug[=debug_options],-# [debug_options]

 写调试日志。debug_options字符串通常为'd:t:o,file_name'。

 --default-character-set=charset
 使用charsetas默认字符集。如果没有指定,mysqldump使用utf8。
 --delayed-insert
 使用insert delayed语句插入行。
 --delete-master-logs
 在主复制服务器上,完成转储操作后删除二进制日志。该选项自动启用--master-data。
 --disable-keys,-k
 对于每个表,用/*!40000 alter table tbl_name disable keys */;和/*!40000 alter table tbl_name enable keys */;语句引用insert语句。这样可以更快地装载转储文件,因为在插入所有行后创建索引。该选项只适合myisam表。
 --extended-insert,-e
 使用包括几个values列表的多行insert语法。这样使转储文件更小,重载文件时可以加速插入。
 --fields-terminated-by=...,--fields-enclosed-by=...,--fields-optionally-enclosed-by=...,--fields-escaped-by=...,--行-terminated-by=...
 这些选项结合-t选项使用,与load data infile的相应子句有相同的含义。
 --first-slave,-x
 不赞成使用,现在重新命名为--lock-all-tables。
 --flush-logs,-f
 开始转储前刷新mysql服务器日志文件。该选项要求reload权限。请注意如果结合--all--database(或-a)选项使用该选项,根据每个转储的数据库刷新日志。例外情况是当使用--lock-all-tables或--master-data的时候:在这种情况下,日志只刷新一次,在所有 表被锁定后刷新。如果你想要同时转储和刷新日志,应使用--flush-logs连同--lock-all-tables或--master-data。