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