mysqldump是一个客户端的逻辑备份工具, 可以生成一个重现创建原始数据库和表的SQL语句, 可以支持所有的存储引擎, 对于InnoDB支持热备
#基本语法格式,详细参数太多,详细请查看官方文档介绍shell> mysqldump [options] db_name [tbl_name ...] 恢复需要手动CRATE DATABASESshell> mysqldump [options] --databases db_name ... 恢复不需要手动创建数据库shell> mysqldump [options] --all-databases 恢复不需要手动创建数据库其他选项:-B:指定数据库-F:刷新日志-x:锁表-E, --events: 备份事件调度器-R, --routines: 备份存储过程和存储函数--triggers: 备份表的触发器; --skip-triggers--master-date[=value]1: 记录为CHANGE MASTER TO 语句、语句不被注释2: 记录为注释的CHANGE MASTER TO语句基于二进制还原只能全库还原--flush-logs: 日志滚动锁定表完成后执行日志滚动
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
