恢复数据的重要命令如下
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
分享到:
相关推荐
MySQL 二进制日志恢复 MySQL 的二进制日志(binlog)是 MySQL server 的一个重要组件,记录...MySQL 二进制日志恢复是指从二进制日志中恢复数据的过程。使用 mysqlbinlog 工具可以轻松地从二进制日志文件中恢复数据。
`mysql-binlog-connector-java` 是一个用于读取 MySQL 二进制日志(binlog)的Java库,它可以帮助开发者实现实时的数据复制、数据同步以及增量数据收集。在本项目中,我们将深入探讨如何利用这个库来实现这一功能。 ...
5. **查看binlog事件并恢复数据**:通过`show binlog events in 'mysql-bin.000002'`查看binlog文件中的事件,然后使用`mysqlbinlog`工具指定开始和结束位置恢复特定数据,例如: ``` mysqlbinlog --start-...
mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据
注意,binlog日志恢复并非总是能够完全恢复数据,因为binlog不包含SELECT语句,所以如果数据依赖于某个时刻的查询结果,这部分信息可能无法恢复。另外,binlog日志的存储格式(如STATEMENT、ROW或MIXED)也会影响...
在实际操作中,如果你遇到数据库故障或需要从binlog恢复数据,这些工具能大大提高效率。例如,当数据库因意外丢失或损坏而无法启动时,可以使用binlog和binlog查看工具配合备份数据来恢复到最近的已知良好状态。 ...
Mysql 中 Binlog 日志使用 MySql 中的 Binlog 日志是一种用于记录数据库变更... Binlog 日志是 Mysql 数据库中的一种重要机制,可以用于记录数据库的变更操作,追溯数据库的历史记录,并且可以用于恢复数据库的数据。
MySQL数据库的二进制日志(Binary Log,简称binlog)是数据库系统中的重要组成部分,它记录了所有的事务操作,为数据恢复、复制和审计提供了基础。"mysql-binlog-in-realtime"源代码包就是针对MySQL binlog进行实时...
#### 四、通过binlog日志恢复表记录 当需要恢复被删除的数据时,可以使用`mysqlbinlog`工具查看相关的binlog日志文件,找到删除操作发生的时间点,然后恢复到该时间点之前的SQL操作。 1. **查找binlog日志文件**:...
MySQL的binlog(二进制日志)是数据库系统中至关重要的组件,它记录了所有对数据库进行...在面临磁盘故障时,binlog可以成为恢复数据的关键。因此,了解和熟练掌握binlog的相关知识对数据库管理员来说是至关重要的。
它的主要职责是执行主从复制的相关操作,如接收主服务器的binlog事件并应用到本地,以及在故障切换过程中协助主控节点完成数据同步。 MHA(MySQL High Availability)基于Perl语言编写,它支持多种复制拓扑,包括单...
首先,MySQL 的 binlog 是一种记录所有更改数据库数据的事件的日志,这对于数据备份、恢复和复制至关重要。binlog 采用事件的形式记录,每个事件都包含了执行的 SQL 语句或者对数据进行操作的信息。go-mysql-canal ...
6. **日志同步**:在某些情况下,Manager会处理主从之间的binlog差异,确保数据一致性。 7. **通知**:故障转移完成后,MHA会通过邮件或其他方式通知管理员。 **MHA的优点** - **快速故障转移**:MHA能够在几秒内...
传送门开启Binlog日志使用Binlog日志恢复数据启动Binlog利用binlog日志重做数据库操作通过binlog日志恢复表记录 开启Binlog日志 修改配置文件,并重启服务 vim /etc/my.cnf [mysqld] server_id=1 #指定server_id ...
数据恢复:当数据库出现故障时,如果已有备份,可以通过二进制日志文件找出导致问题的操作,并尝试撤销或重做这些操作,从而恢复数据的完整性和一致性。 主从同步:在主从复制的设置中,主服务器上的所有变更都会被...
在数据库管理领域,MySQL的Binary Log(简称Binlog)是数据恢复和复制的关键技术。它记录了所有更改数据库状态的事件,使得我们可以从Binlog中重建数据库的状态。然而,直接处理Binlog文件并不是一件容易的事,因为...
MySQL Binlog 日志备份与还原 Binlog 日志是 MySQL 数据库中的一种二进制日志记录方式,用于记录所有对数据库状态的... Binlog 日志备份与还原是 MySQL 数据库中的一种重要机制,能够快速恢复数据,避免数据丢失。
- binlog(二进制日志)用于复制和恢复,记录了所有更改数据库的事务。 9. **性能监控**: - MySQL 8.0提供了性能 Schema,一个内置的数据库,用于收集和分析服务器性能指标。 - 另外,可以通过SHOW STATUS和...
通过以上两种方法,我们可以有效地管理MySQL中的Binlog日志文件,既保持了必要的日志数据以备不时之需,又避免了磁盘空间被大量无用的日志文件所占用。在实际操作过程中,请务必谨慎处理,特别是在手动删除Binlog...