资讯专栏INFORMATION COLUMN

mysql binlog日志 误删数据 用于恢复数据

alogy / 673人阅读

摘要:日志打开方法在这个文件中加一行为。命令使用用工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复。详细过程如下或者全部导出的文件内容导入结果到中进行数据恢复。或者进入导入还有一种办法是根据日期来恢复查看数据

1.binlog 日志打开方法

在my.cnf这个文件中加一行(Windows为my.ini)。

vi /etc/my.cnf

[mysqld]
log-bin=mysqlbin-log #添加这一行就ok了=号后面的名字自己定义吧
然后我们可以对数据库做简单的操作后到mysql数据文件所在的目录来看binlog文件。

查看自己的BINLOG的名字是什么

命令:show binary logs

Mysqlbinlog使用

以后每次对表的相关操作时候,这个File_size都会增大。

做了几次操作后,它就记录了下来。

命令:show binlog events

Mysqlbinlog使用

用mysqlbinlog 工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复。

详细过程如下:
C:Program FilesMySQLMySQL Server 5.0in>mysqlbinlog --start-position=4 --sto

p-position=106 mysqlbin-log.000001 > c: est1.txt

或者全部导出:

C:Program FilesMySQLMySQL Server 5.0in>mysqlbinlog mysqlbin-log.000001 > c: est1.txt

test1.txt的文件内容:

;

;

DELIMITER ;

at 4 110916 9:51:06 server id 1 end_log_pos 98 Start: binlog v 4, server v 5.0.45-community-nt-log created 110916 9:51:06 at startup Warning: this binlog was not closed properly. Most probably mysqld crashed writing it.

ROLLBACK;

at 98 110916 10:11:21 server id 1 end_log_pos 28 Intvar

SET INSERT_ID=2;

at 126 110916 10:11:21 server id 1 end_log_pos 143 Query thread_id=2 exec_time=0 error_code=0

use test;

SET TIMESTAMP=1316139081;

SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1;

SET @@session.sql_mode=1344274432;

;

SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8;

insert into User (name,password) values("ffffd","222");

DELIMITER ;

End of log file

ROLLBACK ;

;

导入结果到MYSQL中进行数据恢复。

C:Program FilesMySQLMySQL Server 5.0in>mysqlbinlog --start-position=134 --stop-position=330 mysqlbin-log.000001 | mysql -uroot -p

或者

C:Program FilesMySQLMySQL Server 5.0in>mysqlbinlog --start-position=134 --stop-position=330 mysqlbin-log.000001 >test1.txt

进入MYSQL导入

mysql> source c: est1.txt

还有一种办法是根据日期来恢复

C:Program FilesMySQLMySQL Server 5.0in >mysqlbinlog --start-datetime="2009-09-14 0:20:00" --stop-datetim="2009-09-15 01:25:00" /diskb/bin-logs/xxx_db-bin.000001 | mysql -u root

6、查看数据

Select * from User

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/46330.html

相关文章

  • MySQL实战 | 02-MySQL 如何恢复到半个月内任意一秒的状态?

    摘要:如果这个时候发生非正常的服务重启,那么这些数据还没在内存,并没有同步到磁盘文件中注意,同步到磁盘文件是个随机,也就是会发生数据丢失。 原文链接:MySQL是如何做到可以恢复到任意一秒状态的? 看到这个题目是不是觉得数据库再也不用担心服务器 crash 了? 那我们需要学习为什么可以这么做?以及如何做? 即为什么可以恢复到任意时间点?如何恢复到任意时间点? 为什么有了 binlog 还需...

    Ocean 评论0 收藏0
  • Mysql二进制日志(binlog)恢复数据

    摘要:我们先来看下对数据库的完全备份。总结如果允许数据丢失,可以直接使用直接恢复,否则可以通过二进制文件进行恢复。现在看来其实也非常简单了,找到开发服务器上的二进制日志文件就能恢复了,最后他又一个一个表开始建的,谁叫我当初又蠢又笨 开启binlog show binary logs 检查bin log是否开启,Mac OS系统安装完Mysql没有my.cnf配置文件,需要自己新建,我的Mys...

    yy13818512006 评论0 收藏0
  • Mysql二进制日志(binlog)恢复数据

    摘要:我们先来看下对数据库的完全备份。总结如果允许数据丢失,可以直接使用直接恢复,否则可以通过二进制文件进行恢复。现在看来其实也非常简单了,找到开发服务器上的二进制日志文件就能恢复了,最后他又一个一个表开始建的,谁叫我当初又蠢又笨 开启binlog show binary logs 检查bin log是否开启,Mac OS系统安装完Mysql没有my.cnf配置文件,需要自己新建,我的Mys...

    nihao 评论0 收藏0
  • msyql数据库按需备份-binlog配合全备

    摘要:按需备份数据一备份提要通过在配置实现操作日志的记录,并配合的全备份来实现全备和按需恢复数据的数据备份方案。本文章实现单机备份方案,主从备份,后续再补充。最大缓存区大小文件最大的大小二进制日志自动删除的天数。 Mysql按需备份数据 一. 备份提要 通过在my.cnf配置bin-log,实现操作日志的记录,并配合mysqldump的全备份来实现全备和按需恢复数据的数据备份方案。再以实例来...

    archieyang 评论0 收藏0
  • 尝试用binlog恢复mysql数据

    摘要:介绍又称归档日志是专门用来记录逻辑的监控并记录你在干啥,比如有没有偷偷删表删库位于层,因此所有的存储引擎都可以使用没有固定大小,会追加写入且不会覆盖旧的开启和配置首先我们要检查下我们是否开启了输入命令,变量为表示已开启如何开启直接添加即可, Binlog介绍: Binlog又称归档日志是专门用来记录逻辑的 (监控并记录你在干啥,比如有没有偷偷删表删库??) Binlog位于ser...

    kelvinlee 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<