记录一下今天下午的谜之操作,不小心把数据库给删除掉了,而且没有备份,差点真是删库跑路了。(一切源于一言难尽),我的案例是在宝塔环境下面执行的,所以仅供参考。

第一步:登录数据库,查看是否开启了binlog日志

[root@iZwz9cir5blv91u0r6eyboZ ~]# mysql -u root -p
Enter password: ****
mysql> SHOW VARIABLES LIKE 'LOG_BIN%';
+---------------------------------+----------------------------------+
| Variable_name                   | Value                            |
+---------------------------------+----------------------------------+
| log_bin                         | ON                               |
| log_bin_basename                | /www/server/data/mysql-bin       |
| log_bin_index                   | /www/server/data/mysql-bin.index |
| log_bin_trust_function_creators | OFF                              |
| log_bin_use_v1_row_events       | OFF                              |
+---------------------------------+----------------------------------+
5 rows in set (0.00 sec)mysql> show master logs; # 查看日志文件
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000007 |   5476353 |
| mysql-bin.000008 |       167 |
| mysql-bin.000009 |       143 |
| mysql-bin.000010 |       143 |
| mysql-bin.000011 |  45125413 |
+------------------+-----------+
5 rows in set (0.00 sec)mysql> show master status; # 查看最后更新日志文件 一般都是用于恢复
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000011 | 45164856 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

log_bin为on 就是开启状态,off 就是关闭状态。(宝塔默认是开启的)

如果你的数据库开处于关闭状态建议你马上开启。

# 找到你的mysql 配置文件 添加下面三行
log_bin=ON
log_bin_basename=/var/lib/mysql/mysql-bin   # 日志存储地址
log_bin_index=/var/lib/mysql/mysql-bin.index  # 日志索引存储地址# 重启mysql服务

三个参数来指定,

第一个参数是打开binlog日志 on

第二个参数:binlog日志存储地方以及命名

第三个参数:binlog文件的索引文件

还有一种简单的配置 就是把 log-bin=mysql-bin

#在数据库配置文件中添加,log-bin = 数据库命令执行目录的bin中
log-bin=mysql-bin # /var/lib/mysql/mysql-bin

第二步:利用使用 mysqlbinlog工具 提取 binlog 内容

由于binlog日志是二进制的,所以是无法查看的,需要借助 mysqlbinlog工具进行提取操作。

# 进入到
cd  /www/server/data/[root@iZwz9cir5blv91u0r6eyboZ data]# ll
total 649792
-rw-rw---- 1 mysql mysql   5476353 Apr 29 16:04 mysql-bin.000007
-rw-rw---- 1 mysql mysql       167 Apr 29 16:06 mysql-bin.000008
-rw-rw---- 1 mysql mysql       143 Apr 29 16:09 mysql-bin.000009
-rw-rw---- 1 mysql mysql       143 Apr 29 16:26 mysql-bin.000010
-rw-rw---- 1 mysql mysql  45111211 Sep 24 16:16 mysql-bin.000011
-rw-rw---- 1 mysql mysql        95 Apr 29 16:27 mysql-bin.index以 mysql-bin 命名的就是 binlog文件了。# 查看 mysqlbinlog 工具所在的位置
[root@iZwz9cir5blv91u0r6eyboZ log]# find / -name mysqlbinlog
/www/server/mysql/bin/mysqlbinlog# 查看日志文件
[root@iZwz9cir5blv91u0r6eyboZ log]/www/server/mysql/bin/mysqlbinlog
/www/server/data/mysql-bin.000007# 执行提取文件命令
# 语法 mysqlbinlog  -v --base64-output=decode-rows
--start-datetime='开始时间'
--stop-datetime = '结束时间'
-d '数据库名称' 日志文件 > 写入的sql文件/www/server/mysql/bin/mysqlbinlog -v --base64-output=decode-rows--start-datetime='2021-08-03 11:00:00'
--stop-datetime='2021-09-24 16:50:00'
-d 'card' /www/server/data/mysql-bin.000011 > /home/log/data_3.sql# 参数说明
方式一、按照时间提取(一般都是按照这个方式筛选)
--start-datetime 指定开始日期
--stop-datetime  指定结束时间方式二、按照文件的行数提取--start-position(指定开始位置,恢复到此位置之后的数据,包括此位置)--stop-position(指定结束位置,恢复此位置之前的数据,不包括此位置)-d 指定库-v --base64-output=decode-rows
# 看得到dml语句具体做了什么操作(例如:insert时具体插入了什么数据)
# 看不到dml语句的完整sql语句(例如:insert into t1(id) values(1);)
# 看不到dml语句的"伪"sql语句 无所谓的-vv --base64-output=decode-rows
# 看得到dml语句具体做了什么操作(例如:insert时具体插入了什么数据)
# 看得到dml语句的完整sql语句(例如:insert into t1(id) values(1);),但是被注释掉了的;
# 看不到dml语句的"伪"sql语句 无所谓的这个# 导出文件以后,下载sql文件,然后打开

打开文件后的样子

 本质就是一个sql文件,一些create 操作。搜索一下  drop database 关键字,把有关删除操作的sql 语句全部去掉, 直接下来在本地导入运行sql文件 测试。

可以使用source 命令进行导入操作

source C:/Users/Administrator/Desktop/card_3.sql;

也可以使用PHPstorm 打开sql文件,右键运行。(建议这个操作)

运行完成以后,你打开数据库,本地启动项目检测一下数据是否完全恢复了。

数据库被删除了,如何恢复相关推荐

  1. [MySQL]-删库后恢复

    [MySQL]-删库后恢复 sen格 | 2022年11月 本文旨在记录个人在数据库的删库恢复演练过程中的一些总结,如有不足,欢迎指正. 一.恢复场景 1)假设生产实例MySQL端口为:3306 2) ...

  2. 服务器里的文件删了能恢复吗,远程把服务器文件删了怎么恢复

    远程把服务器文件删了怎么恢复 内容精选 换一换 按需购买的两台同类型弹性云服务器(操作系统类型相同,如Windows和Windows,Linux和Linux),关机卸载系统盘后,重新挂载至对方弹性云服 ...

  3. 回答:我不小心把公司的数据库给删了,该不该离职?

    这是学习笔记的第 2164 篇文章 今天回答了一个提问:我不小心把公司的数据库给删了,该不该离职? 这是一个潜意识里不应该有的操作,本质的问题不是该不该离职的问题,而是如何补救,你可以离职,对你来说潜 ...

  4. mongodb删库后恢复

    mongodb删库后恢复 模拟删库恢复 1.重置mongo数据库副本集,准备干净环境 rm -rf /data/mongo_28017/* rm -rf /data/mongo_28018/* rm ...

  5. GitHub 疑遭中间人攻击,无法访问;最大暗网托管商再次被黑,数据库被删​

    0.GitHub 疑遭中间人攻击,无法访问 从 26 日下午开始,有网友表示国内访问 GitHub Pages 显示错误,今早访问Github主页时也如下图报错: GitHub 疑似遭遇中间人攻击.中 ...

  6. MYSQL个人学习笔记——数据库介绍、mysql安装配置、数据库操作指令、备份恢复、mysql函数、例题分享

    数据库 一.数据库概述 数据库(DataBase,简称DB):长期存储数据的仓库 数据库分类:层次式数据库.网络式数据库.关系型数据库 数据库特点: 1.实现数据共享,减少数据冗余 2.采用特定的数据 ...

  7. Ant Design 被删代码已恢复,现登顶 GitHub Trending Top 2

    [CSDN 编者按]前几天沸沸扬扬的 Ant Design 代码被删事件有了新进展.经多方努力,目前被删代码已恢复,到底是删库跑路还是年终没给够目前尚无明确定论,事件起因仍在调查中-- 作者 | 李磊 ...

  8. 计算机数据恢复教程视频,视频删了怎么恢复?小技巧帮你快速解决

    视频删了怎么恢复?小技巧帮你快速解决 2019年07月03日 17:20作者:黄页编辑:黄页 分享 视频删了怎么恢复?如何能够将电脑上误删除的一些重要视频文件给恢复呢?相信很多人都想要知道这个答案,毕 ...

  9. oracle11gr2查看数据库状态,Oracle 11gR2数据库文件丢失后的恢复测试

    一.测试环境 数据库版本是Oracle 11gR2,在做完一份完全备份之后,关机,做一份快照,每一次开机之后都执行数次alter system switch logfile以产生归档日志. 之后的测试 ...

最新文章

  1. 【操作系统】【C/C++开发】内存管理
  2. 喜欢产品小师妹?你必须知道的一点产品知识,竞品分析:流利说雅思
  3. 摩尔投票法(力扣- -229. 求众数 II)
  4. CF618F-Double Knapsack【结论】
  5. compareto方法_Java ArrayList 的不同排序方法
  6. scatterpie | ggplot2的几何图形拓展包(1):如何在地图中添加饼图
  7. 使用supervisor提高nodejs调试效率
  8. session放入缓存(redis)、DB
  9. AI算法 - 粒子滤波
  10. 固网打印机服务器无线设置,通过设置连接打印机
  11. 一字千金的SEO达文
  12. python 制作数据图表_python制作各种数据图表
  13. ThingsBoard CE添加数据导出excel功能
  14. NGFW的Portal认证实验
  15. 使用HTML Purifier防止xss攻击
  16. 一线互联网大厂面试真题系统收录!轻松拿下offer
  17. 关于PostMan发送请求获得响应
  18. 出租车系统java_基于WEB的JAVA出租车打车系统
  19. 洞察各站点热销产品靠什么?东南亚虾皮shopee数据分析
  20. 正则表达式的由来(Wikipedia和百度整合记录)

热门文章

  1. grafana bar gauge使用问题
  2. 丹尼尔·克雷格詹姆斯·邦德锻炼培训
  3. html icon 引入emoji,给自己网站增加Emoji表情图标(可以在百度显示类
  4. canvas重力小球 html+css+js
  5. 标星 3.6k+ 让你无所不能的工具
  6. 定时备份脚本分享(网站数据和数据库数据)
  7. SXMB_MONI传输记录报错:具有无效值 BE #SAP #PO #REST
  8. WIN10 电脑设置自动拨号联网任务,实现开机、断网自动重连
  9. Java简单的多线程卖票
  10. 邮件服务器安全SPF、DKIM、DMARC