我不仅需要“创建表”语句,还需要插入。 我应该将哪些标志传递给mysqldump?如何使用mysqldump备份所有数据库信息?
另外 - 数据库比较大(2-2.5G)。很显然,我希望备份尽可能快。任何可能有帮助的标志?
谢谢
我不仅需要“创建表”语句,还需要插入。 我应该将哪些标志传递给mysqldump?如何使用mysqldump备份所有数据库信息?
另外 - 数据库比较大(2-2.5G)。很显然,我希望备份尽可能快。任何可能有帮助的标志?
谢谢
mysqldump
命令默认转储数据。只需签发mysqldump dbname > dump
将生成一个包含模式和数据的转储。
要加快转储速度,请使用--opt
参数,该参数打开一些选项,如表锁定,快速扩展插入和字符集。如果数据库不适合内存,使用--quick(由--opt设置)是加速转储的好方法。使用 - 如果在转储过程中无法锁定表格,单独使用。
如果你的磁盘是缓慢的,它写入磁盘之前压缩数据:
mysqldump --opt dbname | gzip - > dump
默认情况下插入是倾倒的。
如果你想要转储所有的表,只需要精确的数据库,否则给表名。
mysqldump [options] [db_name [tbl_name ...]]
为了赢得空间,您可以使用该标志
--compact
而且这种快速处理您可以使用
--quick
我猜想所有这些信息可用做man mysqldump
。
请注意''--compact'只是'--skip-add-drop-table,--skip-add-locks,--skip-comments,--skip-disable-keys的简写,和--skip-set-charset',这将只保存每个表的连续行数*和*将改变转储的重载方式。 – Unreason 2010-07-26 07:33:11
你应该明确地阅读manual pages for mysqldump,还有,你应该照顾许多选项(做什么用的二进制日志做,表格锁定,二进制字段格式等)
之后运行mysqldump --help
- 它会告诉你哪些选项默认打开或关闭。最后,如果设置各种选项不会带来所需的性能,有人建议设置复制并备份从属设备,但这属于硬件加速的范畴(如更快的存储速度等等。 。)
你是什么意思“单独使用”?单独使用--quick标志? 我实际上买不起锁表 – 2010-07-26 07:23:27
是的,我的意思是--quick标志:mysqldump --quick dbname | gzip - > dump – jmz 2010-07-26 07:29:49
通过不锁定表,你会牺牲什么? – 2012-09-14 22:16:42