我不仅需要“创建表”语句,还需要插入语句。我应该向mysqldump传递哪些标志?
此外,数据库相对较大(2-2.5G)。显然,我希望备份速度尽可能快。有哪些标志可能会有所帮助?
谢谢
此外,数据库相对较大(2-2.5G)。显然,我希望备份速度尽可能快。有哪些标志可能会有所帮助?
谢谢
mysqldump
命令默认会转储数据。只需发出mysqldump dbname > dump
命令,即可生成包含模式和数据的转储文件。--opt
参数,它会打开一些选项,如表锁定、快速、扩展插入和字符集。如果您的数据库无法放入内存中,则使用--quick(也由--opt设置)是加速转储的好方法。如果在转储过程中不能锁定表格,请仅使用--quick。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你应该一定要阅读mysqldump手册页面,里面有许多选项需要注意(如何处理二进制日志、锁定表、二进制字段格式等)
之后运行mysqldump --help
- 它会告诉你哪些选项默认开启或关闭。
最后,如果设置各种选项仍无法带来所需的性能,一些人建议设置复制并备份从服务器,但这属于硬件加速的范畴(获取更快的存储等...)