2010-07-26 95 views

回答

5

mysqldump命令默认转储数据。只需签发mysqldump dbname > dump将生成一个包含模式和数据的转储。

要加快转储速度,请使用--opt参数,该参数打开一些选项,如表锁定,快速扩展插入和字符集。如果数据库不适合内存,使用--quick(由--opt设置)是加速转储的好方法。使用 - 如果在转储过程中无法锁定表格,单独使用。

如果你的磁盘是缓慢的,它写入磁盘之前压缩数据:

mysqldump --opt dbname | gzip - > dump 
+0

你是什么意思“单独使用”?单独使用--quick标志? 我实际上买不起锁表 – 2010-07-26 07:23:27

+0

是的,我的意思是--quick标志:mysqldump --quick dbname | gzip - > dump – jmz 2010-07-26 07:29:49

+0

通过不锁定表,你会牺牲什么? – 2012-09-14 22:16:42

1

默认情况下插入是倾倒的。

如果你想要转储所有的表,只需要精确的数据库,否则给表名。

mysqldump [options] [db_name [tbl_name ...]] 

为了赢得空间,您可以使用该标志

--compact 

而且这种快速处理您可以使用

--quick 

我猜想所有这些信息可用做man mysqldump

+0

请注意''--compact'只是'--skip-add-drop-table,--skip-add-locks,--skip-comments,--skip-disable-keys的简写,和--skip-set-charset',这将只保存每个表的连续行数*和*将改变转储的重载方式。 – Unreason 2010-07-26 07:33:11

0

你应该明确地阅读manual pages for mysqldump,还有,你应该照顾许多选项(做什么用的二进制日志做,表格锁定,二进制字段格式等)

之后运行mysqldump --help - 它会告诉你哪些选项默认打开或关闭。最后,如果设置各种选项不会带来所需的性能,有人建议设置复制并备份从属设备,但这属于硬件加速的范畴(如更快的存储速度等等。 。)