mysql 备份 和binlog日志还原

1、开启binlog日志

vi /etc/my.cnf
datadir=/var/lib/mysql //默认的数据位置 默认binlog日志的位置
server-id = 1
binlog_format=STATEMENT #这个是binlog日志的模式这个模式可以在binlog日志里面显示出inser|update|delete语句
log-bin=mysql-bin #binlog日志名子的前缀
expire_logs_days = 10(表示此日志保存时间为10天)
log_bin_index=mysql-bin.index
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

  

  

3、查看binlog日志(binlog的位置/var/lib/mysql)

mysqlbinlog mysql-bin.000001

2、数据库备份

  

mysqldump -uroot -p'123456' --master-data=2 demo >/usr/local/data/backup.sql

  --master-data=2可以显示出binlog日志中的位置(在备份出来的sql文件里面会有这一句话 说明在binlog日志中 已经备份到的位置,用binlog日志恢复的时候可以从这个位置往后备份)这个一定要加这样就可以在这个基础上 把binlog日志也备份上这样数据就是全的

3、数据库还原

mysql -h192.168.0.110 -uroot -p'123456' --default-character-set=utf8 </usr/local/data/backup.sql

  demo 是数据库的名

4、binlog日志的增量备份

mysqlbinlog --start-position=4743 --stop-position=5441 --database=demo mysql-bin.000001 | mysql -uroot -p'123456' -v demo

  flush logs 刷新日志,重新创建了一个binlog日志(重新有个binlog日志)

-h10.1.92.132

原文地址:https://www.cnblogs.com/dkws/p/12358863.html