1,查看二进制日志文件是否启用
mysql>show variables like 'log_bin';
如果未启用,则启用二进制文件(默认是关闭的 )
2,在mysql的配置文件[mysqld]区域加上如下配置
log-error= #记录错误日志
#log= #记录所有日志
#log-slow-queries= #记录慢查询日志
#log-update= #记录更新
log-bin= #二进制日志
以上默认只启用错误日志,和二进制日志,可以指定日志文件名(如log-bin=logBin.log)如果不指定文件名在使用默认文件名(主机名-bin-000001)
3.重启mysql服务(net stop mysql 和 net start mysql)win7下以管理员身份运行command line客户端
到此为止,二进制文件启用成功
4,开始备份数据库
mysqldump -uroot -p123456 database_name>d:/backup0713.sql
5,恢复数据库:删除原有数据库,建立数据库,把备份数据库导入。
mysqladmin -uroot -p123456 drop database_name
mysqladmin -uroot -p123456 create database_name
mysql -uroot -p123456 database_name
注:在导入备份数据库前,database_name如果没有,是需要创建的;而且与backup0713.sql中数据库名是一样的才能导入。
6,使用二进制文件再现用户操作,即恢复到想恢复的时刻(如不小心误删除,错误更新等....)
使用日志文件恢复数据库必须要有一个数据库备份(只要是在二进制日志文件功能开启之后备份的就行)。恢复数据库时,可以通过时间恢复,也可以通过操作点恢复。
(1)、通过时间恢复方法如下:
如果我在-04-02 00:00:00时刻开启了二进制日志文件功能,并备份了数据库文件。且在-04-02 12:00:00数据库发生异常,需要恢复到-04-0210:00:00。则操作如下:
l用备份将数据库回复到-04-0200:00:00时候的状态。
l在命令行输入如下命令:
mysqlbinlog--stop-date="-04-02 10:00:00" mysql安装目录\data\binary-log.000001 | mysql -u root –p
这样,系统会自动执行从二进制日志有记录开始截止到-04-02 10:00:00,用户所做过的所有操作。与stop-date对应的,还有start-date属性,可以设定执行记录的开始时间。也可以两个属性都设置。
2、通过操作点恢复方法如下:
在命令行中输入mysqlbinlog D:\binary-log.000003 > D:\log.txt,执行后打开log.txt,查看里面语句,可以发现:在每个操作之前,都会有一个独特的编号,如下红字显示:
/*!*/;
# at 450/*编号450*/
#110402 15:31:50 server id 1end_log_pos 529 Query thread_id=2 exec_time=0 error_code=0
SET TIMESTAMP=1301729510/*!*/;
DROP TABLE `jwc`
此编号随着操作数增多而变大。和时间一样是一个标记,通过操作点恢复的语句如下:
mysqlbinlog --stop-position="450" mysql安装目录\data\binary-log.000001 | mysql -u root –p
这样,系统会自动执行二进制日志中编号最低的语句到编号450语句。与stop-position对应的,还有start-position属性,可以设定执行记录的开始编号。
mysql设置停止二进制文件的操作_window下使用二进制文件对mysql数据库备份及恢复(再现用户操作)...