c语言删除文件中的数据_第20问:删除了数据文件,该往哪个方向逃跑
问题
我写错了脚本,ibd 文件被删除了,该往哪个方向逃跑?
实验
先来建一个测试库:
我们在这里开启了 innodb_file_per_table,但这个参数并非本实验所必须,只是为了演示方便。
然后模拟一个业务压力:
现在删掉相关的表文件:
可以打开地图 app,选择一个方向开始跑路了...
然而我们还可以挣扎一下,
查看一下 MySQL 占用的句柄:
找到被删除的表:
可以看到,除了临时表,被我们手工删除的表也在其中,对应文件句柄号 54。
现在我们把数据库的流量锁起来(如果使用了支持 offline_mode 的版本,可以设置 offline_mode):
现在记录一下表的记录数和校验值,以便跟恢复后的数据比较:
现在通过文件句柄找到消失的数据文件,并将其复制出来(此处注意磁盘空间):
现在可以将数据库停下来,把恢复的数据复制到数据目录中,启动数据库:
看看数据是否正常:
看起来还不错。
实验原理
Linux 删除文件其实是减少了对文件的使用数,当使用数降为 0 时,才正式删除文件。
所以当我们执行 rm 时,由于 ibd 文件还在被 MySQL 使用,文件其实并没有被真实删除,只是没办法通过文件系统访问。
通过 procfs 查找文件句柄,可以让我们追踪到消失的文件。
思考题
即使我们停止了外部的数据压力,MySQL 也会自主做一些 buffer pool 的刷盘操作。
如果在我们复制数据文件的过程中,MySQL 触发了 buffer pool 的刷盘操作,那我们获得的数据文件不就不一致了么?是否会造成数据错误。
关于 MySQL 的技术内容,你们还有什么想知道的吗?赶紧留言告诉小编吧!
c语言删除文件中的数据_第20问:删除了数据文件,该往哪个方向逃跑相关推荐
- python查找并修改文件中的内容_如何使用Python搜索和替换文件中的文本?
如何使用Python搜索和替换文件中的文本? 如何使用Python 3搜索和替换文件中的文本? 这是我的代码:import osimport sysimport fileinputprint (&qu ...
- 易语言 图片插入超级列表框_新手教程!如何在PDF文件中插入图像
每当在工作中收到一份PDF文件时,只要没有图片,阅读起来就会非常的枯燥无味,长时间的阅读还会带来睡意,而图片的使用能够更好的提高文件的阅读性.所以图片与文字的相配才是完整的一份PDF文件.但是PDF文 ...
- Java_Hive自定义函数_UDF函数清洗数据_清洗出全国的省份数据
Java_Hive_UDF函数清洗数据_清洗出全国的省份数据 最近用Hadoop搞数据清洗,需要根据原始的地区数据清洗出对应的省份数据,当然我这里主要清洗的是内陆地区的数据,原始数据中不包含港澳台地区 ...
- .net 从txt中读取行数据_【VBA项目】从指定文件中读取数据并绘制图表
VBA 是一种很久远的编程语言,但并不过时.在满足以下两个条件时,借助 VBA 可以极大的提升生产率,降低出错率: 你的电脑上不允许自主安装软件: 你需要执行的工作中大部分的步骤都是固定且重复的. 项 ...
- c如何通过偏移量取出文件中的字节_理一理C语言字节对齐的那些事
作者:守望,Linux应用开发者,目前在公众号[编程珠玑] 分享Linux/C/C++/数据结构与算法/工具等原创技术文章和学习资源. 前言 字节对齐是我们初学C语言就会接触到的一个概念,但是到底什么 ...
- c++读取txt文件中的数字_在Python中读取包中的数据文件的三种方式
我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入: 假设当前代码结构如下图所示: 其中test_1是一个包,在util.py里面 ...
- python从文件中读取数据_使用Python脚本从文件读取数据代码实例
这篇文章主要介绍了使用Python脚本从文件读取数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近自学Python的进度比较慢,工作之 ...
- python删除字符串中重复字符_从Python中删除字符串标点符号的最佳方法
似乎有一个比以下更简单的方法: 1 2 3import string s ="string. With. Punctuation?" # Sample string out = s ...
- 如何删除第一张单页_如何用PowerBI导入网页数据
作者: 东军 相信很多朋友被PBI颜值吸引而入了坑,迫切想上手,但往往会卡在数据源环节.本公司数据自己没权限,外公司数据可望不可及,而网络社区里提供的练习数据,往往专业性太强,业务逻辑摸不透,分析更是 ...
最新文章
- 图像分类再思考DNN似乎遵循一种令人困惑的简单策略来对图像分类
- bzoj1833: [ZJOI2010]count 数字计数 codevs1359 数字计数
- listview异步加载图片
- 20155305乔磊2016-2017-2《Java程序设计》第四周学习总结
- anaconda镜像源配置_Anaconda使用技巧,如何修改国内镜像源?
- 以后出去找工作,只能说自己是产品策划了
- 组策略参考文档1-共享打印机
- 数据库每日一题(易错)
- 服务器搭建对讲机系统,世邦对讲配置步骤以及方法(支持跨服务器对讲).doc
- 美国政府悬赏数千万美元寻勒索组织线索、制裁及最近勒索事件概览
- C++ 读取CSV文件中的数据到Mat
- Android_WakeLock使用
- 非常可乐(广度搜索)
- 强烈抗议故意审核不通过
- laravel 框架命令
- JS 字符串截取切割操作汇总
- 仅有几个分布点,绘制物种的分布图
- python借助jieba包对单独test和txt文档进行中文分词
- 当前时间、既定时间后的时间及时间比较大小(java实现)
- elementUI 使用 el-select 的远程搜索功能,导致数据无法回显怎么解决?
热门文章
- [搬运] iOS 7 侧滑返回手势使用和错误集
- 数据库初识--从MySQL 出发
- DNS智能解析的另类使用 让搜索引擎更快更好的收录您的网站
- 当您访问未加密的HTTP网站时,谁能看到您的数据?—Vecloud微云
- Mybatis ResolverUtil的设计概念
- JBoss EAP应用获取运行模式、相关路径及节点信息
- vue-video-player集成videojs-contrib-hls实现.m3u8文件播放
- webpack学习笔记 (三) webpack-dev-server插件和HotModuleReplacementPlugin插件使用
- 【Win 10 应用开发】InkToolBar——涂鸦如此简单
- 推荐9款优秀的 HTML5 音乐播放器