我不仅需要"Create table“语句,还需要Inserts语句。我应该向mysqldump传递什么标志?
此外-数据库相对较大(2-2.5G)。显然,我希望备份尽可能快。有什么能帮上忙的旗帜吗?
谢谢
发布于 2010-07-26 15:18:57
默认情况下,mysqldump命令转储数据。只需发出mysqldump dbname > dump命令就会生成一个包含模式和数据的转储文件。
要加快转储速度,请使用--opt参数,该参数将打开一些选项,如表锁定、快速、扩展插入和字符集。如果您的数据库无法装入内存,使用-- is (也由--opt设置)是加快转储速度的好方法。如果您无法在转储期间锁定表,请单独使用--quick。
如果您的磁盘速度较慢,请先压缩数据,然后再将其写入磁盘:
mysqldump --opt dbname | gzip - > dump发布于 2010-07-26 15:17:16
默认情况下,插入对象是转储的。
如果你想转储所有的表,只需要精确的数据库,否则就给出表名。
mysqldump [options] [db_name [tbl_name ...]]要获得空间,可以使用标志
--compact为了更快地处理它,您可以使用
--quick我假设所有这些信息都可以通过 man mysqldump获得。
发布于 2010-07-26 15:27:21
你应该明确地阅读manual pages for mysqldump,有许多你应该注意的选项(如何处理二进制日志,表的锁定,二进制字段的格式,等等)
之后运行mysqldump --help -它会告诉你默认情况下哪些选项是打开的或关闭的。
最后,如果设置各种选项不能为您带来所需的性能,有些人建议设置复制并备份从设备,但这属于硬件加速类别(就像获得更快的存储等一样)。
https://stackoverflow.com/questions/3332839
复制相似问题