一.如果想使用mysql的增量备份,就要开启使用二进制文件
在my.cnf[mysql]中加入以下内容:
#enable mysql bin
log-bin=mysql-bin-teddy //开启二进制文件
binlog-do-db=aaa //需要使用二进制文件的数据库
查看二进制文件的
[root@nagios-server mysql]# ll
total 20552
drwx—— 2 mysql mysql 4096 Jul 26 20:14 aaa
-rw-rw—- 1 mysql mysql 5242880 Jul 26 18:02 ib_logfile0
-rw-rw—- 1 mysql mysql 5242880 Jul 24 01:11 ib_logfile1
-rw-rw—- 1 mysql mysql 10485760 Jul 26 18:02 ibdata1
drwx—— 2 mysql mysql 4096 Jul 24 01:11 mysql
-rw-rw—- 1 mysql mysql 569 Jul 24 04:06 mysql-bin-teddy.000001
-rw-rw—- 1 mysql mysql 3217 Jul 24 04:33 mysql-bin-teddy.000002
-rw-rw—- 1 mysql mysql 98 Jul 26 20:16 mysql-bin-teddy.000003
-rw-rw—- 1 mysql mysql 125 Jul 26 20:16 mysql-bin-teddy.index
srwxrwxrwx 1 mysql mysql 0 Jul 26 18:02 mysql.sock
-rw-rw—- 1 mysql mysql 54 Jul 24 01:35 mysqlbin.index
drwx—— 2 mysql mysql 4096 Jul 24 01:11 test
比如我的一般备份策略是:
我在每周的周日11:00P.M,做完全备份
mysqldump -u root -p123456 aaa>aaa.sql
从周一到周六11:00 P.M,做增量备份
周一执行下面的命令
mysqladmin -u root -p123456 flush-logs
执行完了上面的命令后,会出现一个mysql-bin-teddy.000002,而mysql-bin-teddy.000001这个文件就是备份了从上次完全备份之后的所有增加的内容,也就是周日的11:00,P.M到周一11:00 P.M这段时间中的变化的数据
以此类推
#执行一次增量还原
mysqlbinlog /var/lib/mysql/mysql-bin-teddy.000002|mysql -u root -p