2020-05-07 15:50:39
如果不小心对数据库进行误操作,而又没有及时备份怎么办?这恐怕是广大的coder经常遇到的一类问题。 我今天就因为不小心删除了某个数据库,但最后的备份是1个礼拜前的,唯一能解决的办法就是通过mysqlbinlog来恢复了。解决方案如下:
1、如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始(例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。
2、要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。
3、一般可以从配置文件(一般情况,Linux下为my.cnf ,windows系统下为my.ini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出。
4、启用二进制日志的选项为–log-bin。
5、要想确定当前的二进制日志文件的文件名,输入下面的MySQL语句:
SHOW BINLOG EVENTS G;
或者还可以从命令行输入下面的内容:
mysql –user=root -pmypasswd -e ‘SHOW BINLOG EVENTS G’ 将密码mypasswd替换为你的MySQL服务器的root密码。
6、比如得到的日志文件名为:
mysql-bin.000001 1. 指定恢复时间
对于MySQL5.1.54,可以在mysqlbinlog语句中通过–start-date和–stop-date选项指定DATETIME格式的起止时间。
7、举例说明,比如在今天下午14:02(今天是2012年3月15日),不小心执行SQL语句删除了一个数据表,但发现没有最新的备份(当然,这只是开发环境,并不是正式的生产环境,正式环境还得定时做数据备份)。要想恢复表和数据,可以通过mysqlbinlog恢复指定时间的备份,输入:
mysqlbinlog –stop-date=”2012-03-15 14:02:00″ /data1/log/mysql/mysql-bin.000001 | mysql -u root -pmypasswd
该命令将恢复截止到在–stop-date选项中以DATETIME格式给出的日期和时间的所有数据。
8、如果你没有检测到输入的错误的SQL语句,可能你想要恢复后面发生的数据库活动。 根据这些,你可以用起使日期和时间再次运行mysqlbinlog:
mysqlbinlog –start-date=”2012-03-15 00:01:00″ /data1/log/mysql/mysql-bin.000001 | mysql -u root -pmypasswd
9、在该行中,从今天凌晨0:01登录的SQL语句将运行,组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到今天凌晨0:01前一秒钟。 你应检查日志以确保时间确切。
10、和–stop-date恢复指定时间段的数据库活动记录,如下:
mysqlbinlog –start-date=”2012-03-09 02:00:00″ –stop-date=”2012-03-15 14:00:00″ /data1/log/mysql/mysql-bin.000001 > /tmp/mysql_restore_030915.sql
通过这种方式,就能获取最后一个备份的文件时间2012-03-09 02:00:00到今天删除数据库之前2012-03-15 14:02这段时间的数据库活动事务操作
CentOS7安装配置PostgreSQL数据库服务器
06-20
Ubuntu下迁移通过apt安装的MySQL数据库文件目录
07-18
安全快速更改MySQL数据库名称
04-27
oracle数据库迁移到MySQL的三种方法
04-27
更改MySQL数据文件目录位置
06-05
MySQL笔记之数据备份与还原的使用详解
07-07
Percona Xtrabackup备份MySQL大数据库(完整备份与增量备份)
03-15
PostgreSQL数据库修改表增加主键
07-12
Postgresql数据库主从流复制
06-14
memcached数据库简单配置介绍
05-25
ubuntu安装mongodb数据库服务器
05-29
使用shell脚本结合innobackupex自动备份MySQL innodb数据库
04-06
没有开启Oracle日志归档,紧急情况下如何进行Oracle数据库的冷备份
04-26
记录一次Zabbix-server由于磁盘空间不足迁移数据库的过程
07-19
通过mariadb二进制日志实现数据库增量备份
06-05
CentOS 6.x 上搭建docker
07-12
CentOS 7 rpm安装MySQL 5.7.18
04-27
CentOS 7.0安装LAMP服务器(PHP+MariaDB+Apache)
06-07
CentOS 7编译安装及yum安装Python 3
06-15
CentOS 7配置并更换为本地或网络yum源
07-17
HeidiSQL(MySQL服务器数据管理工具) v11.0.0.6055 免费版
10.1M
下载pl sql developer(Oracle数据库存储程序单元的开发软件)2021 免费版
25.2M
下载开源数据库软件
219M
下载Disk Drill pro(数据恢复软件) 4.0.528 免费版
34.3M
下载SuperRecovery数据恢复软件下载
6.3M
下载easyrecovery pro(硬盘数据恢复工具) v14.0.0.4 免费版
78.6M
下载easyrecovery pro(硬盘数据恢复工具) v14.0.0.4 官方版
87.8M
下载finaldata2.0(高效数据恢复软件)企业版
3.07 MB
下载recovernt(硬盘数据恢复软件) v3.5 破解版
624.3K
下载互盾安卓恢复大师(手机数据恢复工具) v2.8.7.1 破解版
529KB
下载无敌数据恢复(磁盘数据恢复工具) v4.1.29.50317 破解版
5.49MB
下载易极数据恢复软件下载
12.26M
下载超级数据恢复软件(电脑数据恢复工具) 6.8.1 破解版
3.3MB
下载顶尖数据恢复软件(电脑数据恢复工具) 6.30 破解版
7.5M
下载一键恢复工具(系统数据备份、管理工具) v5.0.0.1 最新版
9.0M
下载activesync(电脑数据同步工具) v6.1 免费版
22.72MB
下载gghost一键恢复(系统备份还原工具)v10.03.09 中文版
14.5M
下载后羿采集器(网页数据采集软件) v3.5.3 免费版
45.0M
下载小牛文件恢复软件免费下载
6.1M
下载手机管理软件(手机数据传输管理工具) v5.1.3.317最新免费版
24.5M
下载