Mysql备份方式
1、mysqldump
-f 强制执行
--single-transaction 保证备份一致性,实际是把session设成repeatable read
--default-character-set 设置字符集
-q 转存大表,一行一行放入内存,而不是全部一起放入
-R 备份存储过程和函数
--trigger 备份触发器
-B 转存几个数据库
-n 不提供创建数据库语句
-d 不备份数据
--master-data 记录主库binlog位置及检查点
-t 提供建表语句
--comments 额外信息
--add-drop-tables 每个表前添加drop表语句
--add-drop-databases 添加drop数据库语句
--add-locks 插入数据前添加lock table
-T 分别导出sql和txt
--allow-keywords 允许关键字当列名
--opt 一些选项的集合((quick,add-drop-table,add-locks,extended-insert,lock-tables参数)
2、xtrabackup
innobackupex是对xrabackup备份命令封装的perl脚本,能备份myisam\innodb引擎及混合引擎。支持增备,首先记录全备的lsn(log sequence number),进行增备时比较表空间每个页的lsn,如果大于全备的lsn就进行备份,同时记录当前lsn
-default-file 配置文件
-default-extra-file 副配置文件
-target-dir 备份目录
-throttle 每秒IO次数
-increamental-basedir backup时用,指向全备目录
-increamental-dir 增备目录
3、innobackupex 是对xrabackup备份命令封装的perl脚本
--apply-log 准备在一个备份上启用mysql,回滚undo,提交redo
--copy-back 从备份目录拷贝数据到配置文件制定目录
--use-memory 控制备份占用的内存
--no-timestamp 自动创建目录,不能手动创建
--read-only 增量恢复时,将全备和增备重做日志已提交的事物重做,但不包括最后一次增备
--compress 压缩选项,不兼容--stream=tar
--slave-info 备份从库是,与主库日志的偏移量
--stream=tar 压缩类型,这里选择tar格式,可以加,可不加。加上文件就小一点,在备份的时候就已经打包好了
4、mydumper
多线程备份工具,c开发