mysql 数据库恢复实录

1 篇文章 0 订阅
1 篇文章 0 订阅

具体的过程是这样的:我们服务器上使用wordpress搭建了一个wiki系统。昨天的某个时刻未知原因其中的wp Editor.md插件无法正常使用,顶部工具栏丢失,没有右侧的实时显示功能。针对这个问题进行了很多尝试依旧没有解决,之后想着使用新插件替代之。直接在wordpress的插件中搜索markdown ,安装了一个pods插件。pods插件上来就是一个字段管理、可以新建字段也可以基于以前的字段。然后点了一下基于现有字段,觉得没有必要把他建立的数据做了一个删除操作。然后,噩梦就开始了,所有的文章消失不见。这就开启了我们的数据找回之路。

在过程中出现 #符号时,是在shell下操作。出现mysql>时,是需要登录mysql在数据库中操作。
大致步骤如下:
1、查看是否启用日志
命令:

mysql>show variables like 'log_%';

结果:
这里写图片描述
分析: 红色部分信息log_bin的值为on表示已经启用日志。

2、mysql配置文件,查看是否开启了mysqlbinlog 日志,linux服务器下日期文件位于/etc/my.cnf。
命令:

#  cat  /etc/my.cnf

结果:
这里写图片描述
分析: 红色部分信息datadir的值(/usr/local/mysql/var)为数据文件所在的文件夹

3、查看当前日志文件
命令:

mysql> show master status;

结果:
这里写图片描述
分析:其中 mysql-bin.000013 为当前备份的文件名。注意,文件存放在数据文件中。

4、以时间为终点导出对应数据库的操作SQL。
命令:

/usr/local/mysql/bin/mysqlbinlog --no-defaults  --stop-datetime="2017-12-22 06:00:00" --database=wordpress_wik  /usr/local/mysql/var/mysql-bin.000012 > data.sql

结果:

WARNING: The option --database has been used. It may filter parts of transactions, but will include the GTIDs in any case. If you want to exclude or include transactions, you should use the options --exclude-gtids or --include-gtids, respectively, instead.查看到data.sql文件

分析:已经产生当前数据库操操作的DDL日志文件。

5、导出问题表中的数据
命令:

more data.sql | grep --ignore-case -E 'insert|update|delete' -A2 -B2 | grep wiki_posts > wiki.sql

结果:

-- 查看到wiki.sql文件

分析:已经从整个数据库文件过滤出wiki_post表操作记录

6、 在每条数据库操作后添加分号(;),将数据中的异常数据(0000-00-00 00:00:00)修改为(1987-01-01 00:00:00)
使用vim打开,使用vim命令
命令:

%s/$/;
%s/0000-00-00/1970-01-01

结果:

看到每行后的分号, 以及修改成功的数据

分析:添加成功

7、备份现有库中的数据
命令:

mysqldump  -uroot -p'密码' wordpress_wiki >wiki.sql

结果:

queryOK

分析:数据备份完成

8、清空问题表中的数据
命名:

truncate table wiki_post

结果:

Query OK

分析:表中数据清理完成

9、执行操作数据
命令:

 mysql -uroot -p'密码' -Dwordpress_wik --max_allowed_packet=50M --force -f  < ./wiki.sql

结果:

等待命令执行结束

分析:数据操作成功

此时文章已经找回

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据库恢复是指在操作系统崩溃后,通过使用文件级别数据库恢复工具软件来将MySQL数据目录拷贝出来进行恢复的过程。这种恢复方法适用于将之前备份的数据库结构新建空库,然后将还原文件的数据恢复到新库的情况。目前,这种恢复方法只能恢复InnoDB引擎和MyISAM引擎表的数据。 为了确保无缝功能,MySQL数据库通常与Tomcat一起使用。这样可以确保在各种设备上提供最佳的用户体验。此外,前端代码还被设计为响应式,以适应各种设备。主页作为网站的入口,提供了简要快照的可用内容。这些内容经过精心策划,以满足目标受众的兴趣和需求。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Mysql8.0 数据库恢复工具](https://download.csdn.net/download/lishiming0308/86054708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [个人网站源码包含主页面,内容,文章,分页,使用mysql数据库,tomcat,前台代码是响应式](https://download.csdn.net/download/u012134073/88281982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值