论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
SQL-Server
›
【MySQL】表空间丢失处理(Tablespace is missing for t ...
【MySQL】表空间丢失处理(Tablespace is missing for table 错误处理) ...
立山
论坛元老
|
2025-1-10 06:42:24
|
显示全部楼层
|
阅读模式
楼主
主题
1022
|
帖子
1022
|
积分
3066
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
问题背景
迩来,我在运行一个基于Python爬虫的项目时,爬虫需要频繁与MySQL数据库交互。不幸的是,在数据爬取过程中,Windows系统忽然欺压更新并重启。这次不测中断导致MySQL数据库的三个表格(2022年、2023年和2024年的数据表)出现了
“Tablespace is missing”
的错误。
起初,我实验了常规的 CHECK TABLE 和 REPAIR TABLE 方法,但这些都没有解决问题。终极,通过从文件系统规复表数据,我乐成解决了这个问题。以下是详细的解决过程,渴望对遇到类似问题的朋友有所资助。
问题征象
在运行SQL查询时,报错如下:
ERROR 1812 (HY000): Tablespace is missing for table `py_spider`.`zhiwang_patent_2022_new`.
复制代码
这个错误表明表空间文件(.ibd 文件)丢失或损坏,大概是由于以下原因:
数据库文件被不测删除或损坏。
数据库服务在写入文件时不测中断。
文件迁徙操作失败。
颠末检查,我的ibd文件还在,因此可以快速规复。
解决思路
MySQL的InnoDB引擎允许通过 .ibd 文件导入/导出表空间。利用这一特性,可以从文件系统中规复丢失的表空间。以下是详细的操作步调和SQL脚本。
解决步调
1.
准备文件系统中的表空间文件
在MySQL数据目录下(如 /var/lib/mysql/py_spider/),检查对应表的 .ibd 文件是否存在。如果这些文件已经损坏或丢失,可以从备份中规复。如果 .ibd 文件完备,但仍提示表空间丢失,可以直接实验导入操作。
注意:在Windows系统上,MySQL数据目录路径大概是 C:\ProgramData\MySQL\MySQL Server X.X\Data\py_spider\。
3.
编写SQL脚本规复表空间
以下是用于规复表空间的SQL脚本:
-- 切换到目标数据库
USE py_spider;
-- 恢复2022年的表
ALTER TABLE zhiwang_patent_2022_new DISCARD TABLESPACE;
-- 将文件系统中的 zhiwang_patent_2022_new.ibd 放到正确位置后
ALTER TABLE zhiwang_patent_2022_new IMPORT TABLESPACE;
-- 恢复2023年的表
ALTER TABLE zhiwang_patent_2023_new DISCARD TABLESPACE;
ALTER TABLE zhiwang_patent_2023_new IMPORT TABLESPACE;
-- 恢复2024年的表
ALTER TABLE zhiwang_patent_2024_new DISCARD TABLESPACE;
ALTER TABLE zhiwang_patent_2024_new IMPORT TABLESPACE;
-- 确认表格是否已恢复成功
SHOW TABLES;
复制代码
我的劳绩与发起
通过这次问题的处理,我学到了几个重要的经验:
定期备份
:突发情况(如系统更新)大概随时中断服务,备份是应对这些问题的最佳方法。
避免物理操作文件
:只管不要手动操作数据库目录中的文件,任何误操作都大概引发数据丢失或损坏。
谨慎对待系统更新
:对于恒久运行的使命,应关闭自动更新功能,避免系统忽然重启。
总结
通过上述方法,我乐成规复了三个表的数据。如果你在运行MySQL时遇到类似问题,可以实验这套方法。记着,备份和防备比过后修复更重要!
如果有任何问题或更好的方法,欢迎在评论区与我交流!
渴望这篇文章对你有所资助!如果有任何问题,请留言探讨。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
立山
论坛元老
这个人很懒什么都没写!
楼主热帖
IoTOS-v1.5.3 新增 智能诊断&会话记录 ...
【学习笔记】WPF-01:前言
基于SqlSugar的开发框架循序渐进介绍( ...
网络安全-技术与实践 书本习题练习 ...
IO流的使用
CentOS7 单机版使用kubeadm安装K8S ...
Python中可以用三种方法判断文件是否存 ...
WEB安全基础入门—身份验证漏洞 ...
开源直播课丨大数据集成框架ChunJun类 ...
解读数仓常用模糊查询的优化方法 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
开源技术
linux
运维.售后
鸿蒙
数据安全
.Net
Postrge-SQL技术社区
MES
IOS
Mysql
快速回复
返回顶部
返回列表