mysqldump是一个客户端的逻辑备份工具, 可以生成一个重现创建原始数据库和表的SQL语句, 可以支持所有的存储引擎, 对于InnoDB支持热备

    1. #基本语法格式,详细参数太多,详细请查看官方文档介绍
    2. shell> mysqldump [options] db_name [tbl_name ...] 恢复需要手动CRATE DATABASES
    3. shell> mysqldump [options] --databases db_name ... 恢复不需要手动创建数据库
    4. shell> mysqldump [options] --all-databases 恢复不需要手动创建数据库
    5. 其他选项:
    6. -B:指定数据库
    7. -F:刷新日志
    8. -x:锁表
    9. -E, --events: 备份事件调度器
    10. -R, --routines: 备份存储过程和存储函数
    11. --triggers: 备份表的触发器; --skip-triggers
    12. --master-date[=value]
    13. 1: 记录为CHANGE MASTER TO 语句、语句不被注释
    14. 2: 记录为注释的CHANGE MASTER TO语句
    15. 基于二进制还原只能全库还原
    16. --flush-logs: 日志滚动
    17. 锁定表完成后执行日志滚动
    1. mysqldump -uroot -p123456 -E --all-databases --lock-all-tables > /opt/mysql/backup.sql
    # 恢复dump备份数据时,暂时先将二进制日志关闭
    source /opt/mysql/backup.sql
    # 执行完,再开启,然后回复binlog文件中的数据
    mysqlbinlog /opt/mysql/mysql-bin.000005 > /opt/mysql/000005.sql
    mysql -uroot -p123456 -v < /opt/mysql/000005.sql