天天看点

mysql binlog 增量备份_mysql 利用binlog增量备份、恢复

1  先全备份:

mysqldump --flush-logs -u root  --all-databases > alldatabase.sql

2  进行操作

mysql> show master status;

+-------------------+----------+--------------+------------------+

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-------------------+----------+--------------+------------------+

| testdb-bin.000062 |      106 |              |                  |

+-------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

mysql> select * from t;

+------+

| a    |

+------+

|    1 |

|    2 |

|    3 |

|    4 |

|    1 |

|    2 |

|    3 |

|    4 |

|    1 |

|    2 |

|    3 |

|    4 |

|    1 |

|    2 |

|    4 |

+------+

15 rows in set (0.00 sec)

mysql> select sysdate();

+---------------------+

| sysdate()           |

+---------------------+

| 2010-11-29 13:31:56 |

+---------------------+

1 row in set (0.00 sec)

mysql> delete from t where a=1;

Query OK, 4 rows affected (0.00 sec)

mysql> select sysdate();

+---------------------+

| sysdate()           |

+---------------------+

| 2010-11-29 13:32:10 |

+---------------------+

1 row in set (0.00 sec)

mysql> show master status;

+-------------------+----------+--------------+------------------+

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-------------------+----------+--------------+------------------+

| testdb-bin.000062 |      192 |              |                  |

+-------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

3  用全备份恢复

mysql -uroot -pyihaodian  < alldatabase.sql

4  查看数据

mysql> select * from t;

+------+

| a    |

+------+

|    1 |

|    2 |

|    3 |

|    4 |

|    1 |

|    2 |

|    3 |

|    4 |

|    1 |

|    2 |

|    3 |

|    4 |

|    1 |

|    2 |

|    4 |

+------+

15 rows in set (0.00 sec)

5  执行增加恢复

mysqlbinlog  --start-date="2010-11-29 13:31:56" --stop-date="2010-11-29 13:32:10"  /var/lib/mysql/testdb-bin.000062 | mysql -u root -p

6  查看情况

mysql> select * from t;

+------+

| a    |

+------+

|    2 |

|    3 |

|    4 |

|    2 |

|    3 |

|    4 |

|    2 |

|    3 |

|    4 |

|    2 |

|    4 |

+------+

11 rows in set (0.00 sec)