`
dcj3sjt126com
  • 浏览: 1871130 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL--binlog日志恢复数据

 
阅读更多

恢复数据的重要命令如下
mysql> flush logs; 默认的日志是mysql-bin.000001,现在刷新了重新开启一个就多了一个mysql-bin.000002
                                ./mysqlbinlog --no-defaults binlog日志名,来查看日志
[root@localhost bin]# ./mysqlbinlog --no-defaults ../var/mysql-bin.000001 | more     //查看bin-log日志的内容
[root@localhost bin]# ./mysqlbinlog --no-defaults ../var/mysql-bin.000001 | ./mysql -uroot -p //恢复mysql-bin.000001日志的内容
如果需要从某个点恢复到某个点,用以下操作
定位: --start-position 开始点
--stop-position 结束点
--start-date 开始时间
--stop-date  结束时间

现在恢复mysql-bin.000002恢复,从134点开始到386结束   
[root@localhost bin]# ./mysqlbinlog --no-defaults --start-position 134 --stop-position=386 ../var/mysql-bin.000002 | ./mysql -uroot -p


/**        mysqlbinlog日志恢复数据实验         ****/
//查看一下var下面的内容,现在是没有mysql-log.000001类似的binlog日志的
[root@localhost var]# ls
brocms       ibdata1      ib_logfile1    localhost.pid  mysql-bin.index
brotherblog  ib_logfile0  localhost.err  mysql          test
[root@localhost var]# ../bin/mysql -uroot -p //登录数据库
mysql> use test; //使用test数据库
mysql> flush logs; //刷新binlog日志,新开一个,现在会在var目录下面生成一个mysql-bin.000001的文件,以下的操作都会记录其中
//创建一个表
mysql> create table user(
    -> id int auto_increment primary key,
    -> username char(30),
    -> password char(32))
    -> engine=myisam default charset=utf8;
//插入几条测试数据
mysql> insert into user(username,password) values(1,2);
mysql> insert into user(username,password) values(1,2);
mysql> insert into user(username,password) values(1,2);
//新开一个binlog日志,现在会生成一个名为mysql-bin.000002的文件,下面的操作会记录在mysql-bin.000002的文件中
mysql> flush logs;
//查询一下内容
mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | 1        | 2        |
|  2 | 1        | 2        |
|  3 | 1        | 2        |
+----+----------+----------+
mysql> delete from user; //现在将数据删除
mysql> drop table user; //将表删除
mysql> select * from user; //查看表里面的内容 
mysql> \q
Bye
[root@localhost var]# ls
brocms       ibdata1      ib_logfile1    localhost.pid  mysql-bin.000001  mysql-bin.index
brotherblog  ib_logfile0  localhost.err  mysql          mysql-bin.000002  test
[root@localhost var]# ../bin/mysqlbinlog --no-defaults mysql-bin.000001 | more //查看mysql-bin.000001里面的内容
[root@localhost var]# ../bin/mysqlbinlog --no-defaults mysql-bin.000002 | more //查看mysql-bin.000002里面的内容
[root@localhost var]# ../bin/mysqlbinlog --no-defaults mysql-bin.000001 | ../bin/mysql -uroot -p //用mysql-bin.000001来恢复数据
Enter password:
[root@localhost var]# ../bin/mysql -uroot -p //进数据库查看
mysql> use test;
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| user           |
+----------------+
1 row in set (0.00 sec)

mysql> select * from user; //查看数据,数据回来了
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | 1        | 2        |
|  2 | 1        | 2        |
|  3 | 1        | 2        |
+----+----------+----------+
3 rows in set (0.00 sec)

mysql> \q
Bye

如果需要从某个点恢复到某个点,用以下操作
定位: --start-position 开始点
--stop-position 结束点
--start-date 开始时间
--stop-date  结束时间

现在恢复mysql-bin.000002恢复,从134点开始到386结束   
[root@localhost bin]# ./mysqlbinlog --no-defaults --start-position 134 --stop-position=386 ../var/mysql-bin.000002 | ./mysql -uroot -p
0
2
分享到:
评论

相关推荐

    mysql-binlog二进制日志恢复

    MySQL 二进制日志恢复 MySQL 的二进制日志(binlog)是 MySQL server 的一个重要组件,记录...MySQL 二进制日志恢复是指从二进制日志中恢复数据的过程。使用 mysqlbinlog 工具可以轻松地从二进制日志文件中恢复数据。

    基于 mysql-binlog-connector-java 实现增量数据的收集.zip

    MySQL是世界上最流行的关系型数据库管理系统之一,而MySQL的binlog(二进制日志)是其核心特性之一,用于记录所有对数据库进行的更改操作。`mysql-binlog-connector-java` 是一个开源库,它允许Java应用程序实时读取...

    mysql binlog日志恢复【亲测有效,有例子实测】

    5. **查看binlog事件并恢复数据**:通过`show binlog events in 'mysql-bin.000002'`查看binlog文件中的事件,然后使用`mysqlbinlog`工具指定开始和结束位置恢复特定数据,例如: ``` mysqlbinlog --start-...

    mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据

    mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据

    使用binlog日志恢复MySQL数据库删除数据的方法

    注意,binlog日志恢复并非总是能够完全恢复数据,因为binlog不包含SELECT语句,所以如果数据依赖于某个时刻的查询结果,这部分信息可能无法恢复。另外,binlog日志的存储格式(如STATEMENT、ROW或MIXED)也会影响...

    Mysql中 binlog日志.docx

    Mysql 中 Binlog 日志使用 MySql 中的 Binlog 日志是一种用于记录数据库变更... Binlog 日志是 Mysql 数据库中的一种重要机制,可以用于记录数据库的变更操作,追溯数据库的历史记录,并且可以用于恢复数据库的数据。

    mysql-binlog-in-realtime 源代码包

    MySQL数据库的二进制日志(Binary Log,简称binlog)是数据库系统中的重要组成部分,它记录了所有的事务操作,为数据恢复、复制和审计提供了基础。"mysql-binlog-in-realtime"源代码包就是针对MySQL binlog进行实时...

    MySQL利用binlog恢复库表

    #### 四、通过binlog日志恢复表记录 当需要恢复被删除的数据时,可以使用`mysqlbinlog`工具查看相关的binlog日志文件,找到删除操作发生的时间点,然后恢复到该时间点之前的SQL操作。 1. **查找binlog日志文件**:...

    MySQL – binlog日志简介及设置

    MySQL的binlog(二进制日志)是数据库系统中至关重要的组件,它记录了所有对数据库进行...在面临磁盘故障时,binlog可以成为恢复数据的关键。因此,了解和熟练掌握binlog的相关知识对数据库管理员来说是至关重要的。

    mha4mysql-manager-0.57-0.el7.noarch.rpm和mha4mysql-node-0.57-0.el7.noarch.rpm

    它的主要职责是执行主从复制的相关操作,如接收主服务器的binlog事件并应用到本地,以及在故障切换过程中协助主控节点完成数据同步。 MHA(MySQL High Availability)基于Perl语言编写,它支持多种复制拓扑,包括单...

    Mysql binlog查看工具

    在实际操作中,如果你遇到数据库故障或需要从binlog恢复数据,这些工具能大大提高效率。例如,当数据库因意外丢失或损坏而无法启动时,可以使用binlog和binlog查看工具配合备份数据来恢复到最近的已知良好状态。 ...

    mha4mysql-0.56 (mha4mysql-manager-0.56.tar.gz mha4mysql-node-0.56.tar.gz)

    6. **日志同步**:在某些情况下,Manager会处理主从之间的binlog差异,确保数据一致性。 7. **通知**:故障转移完成后,MHA会通过邮件或其他方式通知管理员。 **MHA的优点** - **快速故障转移**:MHA能够在几秒内...

    Linux/Centos Mysql 数据库 数据库篇二 启用Binlog日志 利用Binlog日志恢复数据

    传送门开启Binlog日志使用Binlog日志恢复数据启动Binlog利用binlog日志重做数据库操作通过binlog日志恢复表记录 开启Binlog日志 修改配置文件,并重启服务 vim /etc/my.cnf [mysqld] server_id=1 #指定server_id ...

    go-mysql-canal:数据库binlog监听,elasticsearch同步

    首先,MySQL 的 binlog 是一种记录所有更改数据库数据的事件的日志,这对于数据备份、恢复和复制至关重要。binlog 采用事件的形式记录,每个事件都包含了执行的 SQL 语句或者对数据进行操作的信息。go-mysql-canal ...

    mysql中mysql-bin.000001是什么文件可以删除吗

    数据恢复:当数据库出现故障时,如果已有备份,可以通过二进制日志文件找出导致问题的操作,并尝试撤销或重做这些操作,从而恢复数据的完整性和一致性。 主从同步:在主从复制的设置中,主服务器上的所有变更都会被...

    php-binlog-parser:用纯PHP实现MySQL Binlog解析器

    在数据库管理领域,MySQL的Binary Log(简称Binlog)是数据恢复和复制的关键技术。它记录了所有更改数据库状态的事件,使得我们可以从Binlog中重建数据库的状态。然而,直接处理Binlog文件并不是一件容易的事,因为...

    binlog日志备份与还原.docx

    MySQL Binlog 日志备份与还原 Binlog 日志是 MySQL 数据库中的一种二进制日志记录方式,用于记录所有对数据库状态的... Binlog 日志备份与还原是 MySQL 数据库中的一种重要机制,能够快速恢复数据,避免数据丢失。

    mysql-server-mysql-8.0.30.tar.gz

    - binlog(二进制日志)用于复制和恢复,记录了所有更改数据库的事务。 9. **性能监控**: - MySQL 8.0提供了性能 Schema,一个内置的数据库,用于收集和分析服务器性能指标。 - 另外,可以通过SHOW STATUS和...

    mysql 正确清理binlog日志的两种方法.docx

    通过以上两种方法,我们可以有效地管理MySQL中的Binlog日志文件,既保持了必要的日志数据以备不时之需,又避免了磁盘空间被大量无用的日志文件所占用。在实际操作过程中,请务必谨慎处理,特别是在手动删除Binlog...

Global site tag (gtag.js) - Google Analytics