MySql通过二进制日志文件恢复数据
来源:互联网 发布:迦太基 汉尼拔 知乎 编辑:程序博客网 时间:2024/04/30 10:53
在《百度、阿里、腾讯如何承载PB级别大数据》的视频中了解到,大型网站的数据库每天都会定时的进行数据备份份。如果设置每天的0点进行数据备份,在两个数据备份周期期间数据库出现宕机情况,0点到宕机这个时间段的数据如何备份呢?在MySql中是通过数据库的二进制日志文件进行数据恢复的。
MySql的二进制日志文件默认是关闭的,需要我们在MySql根目录下的my.ini文件中设置为开启状态。设置方式为在[mysqld]节点下,添加log-bin= D:\mysql-5.6.24\data\mysql binlog-do-db=dbbin,mysql为生成的二进制日志文件名,dbbin为需要记录日志的数据库,配置完成后重启MySql服务。下面我通过一个实例讲解如何通过二进制日志文件恢复数据。
1.在mysql中创建一个数据表,操作如下:
此时在MySql安装目录的data文件夹下会生成mysql.000001文件。
我们可以在Dos窗口通过MySql的mysqlbinlog命令查看日志文件,操作如下:
如果提示mysqlbinlog命令无法识别,则需要把MySql的bin路径(我的是:D:\mysql-5.6.24\bin)添加到path环境变量中。
2.向test数据表插入一条语句,操作如下:
此时在MySql安装目录的data文件夹下会生成新的日志文件。
我们可以在Dos窗口通过MySql的mysqlbinlog命令查看日志文件,操作如下:
3.删除数据表test,操作如下:
此时在MySql安装目录的data文件夹下会生成新的日志文件。
4.用二进制文件恢复数据
通过show tables命令发现,test表已经不存在。
在dos窗口执行命令mysqlbinlog --no-defaults D:\mysql-5.6.24\data\mysql.000001 | mysql -uroot -proot恢复数据。
在mysql中再次执行show tables命令发现,test表恢复了。
通过实验发现,在MySql中每次执行flush logs命令时,会在data目录生成一个新的日志文件,但此次的操作记录会记录在上一个日志文件中,所以当我们想通过日志文件查看本次操作记录时,应该查看上一个日志文件。
到此在MySql中通过二进制日志文件恢复数据的操作讲解完成,希望能帮助大家进步。
- MySql通过二进制日志文件恢复数据
- MySql通过二进制日志文件恢复数据
- mysql 通过二进制日志恢复数据
- 如何通过Mysql的二进制日志恢复数据库数据
- 通过Mysql的二进制日志恢复数据库数据
- 如何通过Mysql的二进制日志恢复数据库数据
- 如何通过Mysql的二进制日志恢复数据库数据
- MySQL使用二进制日志来恢复数据
- MySQL--binlog二进制日志恢复数据
- MYSQL利用二进制日志恢复数据
- mysql使用二进制日志恢复数据
- mysql二进制日志文件恢复数据库
- MySQL日志文件恢复数据
- mysql日志文件恢复数据
- mysql 二进制日志恢复
- mysql 二进制日志恢复
- MySQL日志——使用二进制日志恢复数据介绍
- mysql 误操作通过日志数据恢复
- Android 切换Fragment时实现数据保持
- Android中的TRIM优化
- KBuild MakeFile介绍
- There was an error copying the file into mtp:
- select查询的执行顺序
- MySql通过二进制日志文件恢复数据
- APT攻击初步了解
- ubuntu-14.04-desktop-amd64 安装 Bcompare
- HTTP协议的持续连接和非持续连接
- Android应用开发:Fragment与大型数据缓存
- HDU2203 亲和串【KMP】
- 黑马程序员——Java基础---反射
- Android APK的签名与重新签名
- C/C++宏的使用总结