跳转至

备份参数

备份命令

Bash
1
2
3
mysqldump [选项] 数据库名 [表名] > 脚本名
mysqldump [选项] --数据库名 [选项 表名] > 脚本名
mysqldump [选项] --all-databases [选项]  > 脚本名

选项说明

参数名/缩写 含义
--databases 指定要备份的数据库
--compact 压缩模式,产生更少的输出
--comments 添加注释信息
--complete-insert 输出完成的插入语句
--lock-tables 备份前,锁定所有数据库表
--no-create-db/--no-create-info 禁止生成创建数据库语句
--force 当出现错误时仍然继续备份操作
--add-locks 备份数据库表时锁定数据库表
--all-databases or -A 导出所有数据库
--all-tablespaces or -Y 导出所有表空间
--no-tablespaces or -y 不导出任何表空间信息
--default-character-set 设置默认字符集
--events or -E 导出事件
--quick or -q 不缓冲查询,直接导出到标准输出,快速导出
--routines or -R 导出存储过程和自定义函数
--single-transaction 对于事务性存储引擎(如 InnoDB),保证备份一致性
--master-data 将当前服务器的 binlog 位置和文件名追加到输出文件中
--tables 指定需要导出的表名
--verbose or -v 输出多种平台信息
--triggers 导出触发器
--tables 覆盖 --databases or -B选项,后面所跟参数被视作表名
--skip-add-locks (取消LOCK语句)

--master-data=2

  • mysqldump导出数据时,当这个参数的值为1的时候,mysqldump出来的备份文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是fileposition的记录.
  • 在slave上导入数据时会执行该语句,salve就会根据CHANGE MASTER TO后面指定的binlog文件和binlog日志文件里的位置点,从master端复制binlog。
  • 默认情况下这个值是1 。运维经常使用到该参数,主从复制时,该参数是一个很好的功能,同时也可以做增量恢复。
  • 当这个参数的值为2的时候mysqldump导出来的备份文件也会包含CHANGE MASTER TO语句,但是该语句被注释掉,不会生效,只是提供一个信息.