mysql两种备份方法总结:mysqldump 和 xtrabackup

 

 

mysqldump工具基本使用

    1. mysqldump [OPTIONS] database [tables…]

        还原时库必须存在,不存在需要手动创建

    --all-databases: 备份所有库    
    --databases db1 db2 ...: 备份指定的多个库,如果使用此命令,恢复时将不用手动创建库
    --lock-all-tables:请求锁定所有表之后再备份,对MyISAM、InnoDB、Aria做温备
    --lock-table: 对正在备份的表加锁,但是不建议使用,如果其它表被修改,则备份后表与表之间将不同步
    --single-transaction: 能够对InnoDB存储引擎实现热备;
      启动一个很大的大事物,基于MOCC可以保证在事物内的表版本一致
      自动加锁不需要,再加--lock-table, 可以实现热备
备份代码:
    --events: 备份事件调度器代码
    --routines: 备份存储过程和存储函数
    --triggers:备份触发器
备份时滚动日志:
    --flush-logs: 备份前、请求到锁之后滚动日志;
      方恢复备份时间点以后的内容
复制时的同步位置标记:主从架构中的,主服务器数据。效果相当于标记一个时间点。
    --master-data=[0|1|2]
    0: 不记录
    1:记录为CHANGE MASTER语句
    2:记录为注释的CHANGE MASTER语句




创建专门用于备份的用户
MariaDB > GRANT RELOAD,LOCK TABLES,SUPER,REPLICATION CLIENT ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';    
MariaDB > FLUSH PRIVILEGES;



mysqldump  -ubackup -p123456  --single-transaction --flush-logs --master-data=2 --databases ttt > /data/backup.sql
posted @ 2019-08-14 15:20  hjfjesse  阅读(1664)  评论(0编辑  收藏  举报