实验环境:CentOS7

#热备:--single-transaction
#-R:存储过程和存储函数
#-E:events 事件 
--triggers:触发器
#--master-data=2 :CHANGE MASTER TO 语句被注释
#此次备份是全量备份,备份之后会生成二进制日志的序列号,如果在此之后有其他写操作,可再结合二进制日志的备份还原
[root@mysql localhost]#mysqldump -uroot --single-transaction --all-databases -R -E --triggers --master-data=2 --flush-logs > /root/all-databases-$(date +%F).sql
[root@mysql localhost]#ls /root/
all-databases-2017-07-13.sql 
#备份完之后查看:
MariaDB [(none)]> show master logs;
| mysql-bin.000011 |       245
#结合备份文件再次确认此序列号:
[root@~ localhost]#less all-databases-2017-07-13.sql 
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000011', MASTER_LOG_POS=245;
#接下来省略关于数据了的写操作;
#再另一数据库服务器进行还原:
MariaDB [(none)]> show master logs;
| mysql-bin.000011 |       334 


sed -i ‘s@ENGINE=MyISAM@ENGINE=InnoDBg’ hellodb

mysqlbinlog master-log.000005 > /tmp/binlog.sql

做还原时,要暂时关闭二进制日志:
SET @@session.sql_log_bin=OFF;
还原全量数据库:\.  /tmp/all-databases-2017-07-13
 \. /tmp/binlog.sql 做完还原之后立即做全量备份;