简介:
mysqldump 与 mysqlpump都是mysql自带的备份工具。mysqlpump 是 mysqldump 的一个衍生,本身也参考了 mydumper 的思路,支持了并行导出数据,因此导出数据的效率比 mysqldump 会高很多。
使用:
mysqlpump 的绝大多数参数与 mysqldump 是一样的,整体的使用方法和 mysqldump 没有太多的差异。
mysqldump常用选项
-A, --all-databases Dump all the databases. This will be same as --databases with all databases selected.
-Y, --all-tablespaces Dump all the tablespaces. -y, --no-tablespaces Do not dump any tablespace information.
-B, --databases Dump several databases.
-E, --events Dump events.
-R, --routines Dump stored routines (functions and procedures).
--ignore-error=name A comma-separated list of error numbers to be ignored if encountered during dump.
--ignore-table=name Do not dump the specified table. To specify more than one table to ignore, use the directive multiple times, oncefor each table.
Each table must be specified with both database and table names, e.g.,--ignore-table=database.table.
--master-data[=#] This causes the binary log position and filename to be appended to the output.
If equal to 1, will print it as a CHANGE MASTER command;
if equal to 2, that command will be prefixed with a comment symbol.
此选项要配合选项 --single-transactinon一起使用,否则整个dump期间所有表都会被锁。
-t, --no-create-info Don't write table creation info.
-d, --no-data No row information.
-q, --quick Don't buffer query, dump directly to stdout.
(Defaults to on; use --skip-quick to disable.)
--set-gtid-purged[=name] Add 'SET @@GLOBAL.GTID_PURGED' to the output.
Possible values for this option are ON, OFF and AUTO. 默认值为AUTO.
没有启用gtid,此选项设置为on,会报错。
设置为AUTO,会根据是否启用了gtid来决定是否输出'SET @@GLOBAL.GTID_PURGED' 到备份文件中。
--single-transaction Creates a consistent snapshot by dumping all tables in a single transaction.
在备份期间,确保没有alter table,drop table,rename table,truncate table这些语句发生。
-F, --flush-logs Flush logs file in server before starting dump.
--tables Overrides option --databases (-B).
-w, --where=name Dump only selected records. Quotes are mandatory.
mysqldump常用举例:
mysqlpump优缺点
优点:
并行备份数据库和数据库中的对象,比 mysqldump 更高效。
更好的控制数据库和数据库对象(表,存储过程,用户帐户)的备份。
备份进度可视化。
缺点:
只能并行到表级别,如果有一个表数据量特别大那么会存在非常严重的短板效应。
导出的数据保存在一个文件中,导入仍旧是单线程,效率较低。
无法获取当前备份对应的binlog位置。
标签:Dump,dump,--,mysqlpump,mysqldump,databases,table From: https://www.cnblogs.com/JennyYu/p/17084976.html