首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为同一个表空间ID找到多个文件

为同一个表空间ID找到多个文件
EN

Server Fault用户
提问于 2019-02-20 01:19:26
回答 1查看 6.9K关注 0票数 3

经过管理,mysql服务器的硬盘利用率达到了100%.在恐慌中,我关闭了大部分服务--包括mysqld,我想这是造成这个问题的原因。随后,我删除了文件以腾出空间。在可用1GB以上的情况下,我试图启动mysqld,但它无法启动。日志中指出的错误如下:

代码语言:javascript
运行
复制
[ERROR] [MY-012209] [InnoDB] Multiple files found for the same tablespace ID:
[ERROR] [MY-012202] [InnoDB] Tablespace ID: 23 = ['archive/transaction_archive_1.ibd', 'log/transaction_15.ibd']
[ERROR] [MY-012202] [InnoDB] Tablespace ID: 123 =
['archive/order_archive_1.ibd', 'log/cart_15.ibd']
[ERROR] [MY-012202] [InnoDB] Tablespace ID: 406 = ['archive/pay_archive_8.ibd', 'log/cart_20.ibd']
[ERROR] [MY-012202] [InnoDB] Tablespace ID: 419 = ['archive/pay_archive_9.ibd', 'log/cart_64.ibd']
[ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Failed, retry may succeed.
[ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
[ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
[ERROR] [MY-010119] [Server] Aborting
[System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.13)  MySQL Community Server - GPL.

“存档”和“日志”是两个独立的数据库。将“innodb_force_recovery”设置为1到6没有帮助。关于如何恢复这个问题,有什么建议吗?服务器在Linux上运行,MySQL为8.0.13。谢谢。

EN

回答 1

Server Fault用户

发布于 2019-02-20 02:18:14

我终于成功地让mysql服务器启动了,但我不能肯定这是最好的方法。

首先,我认为“日志”数据库表比“归档”表更重要。我将四个受影响的文件-档案/事务_档案_1.ibd、归档/order_archive_1.ibd、archive/pay_archive_8.ibd、archive/pay_archive_9.ibd)移到一个临时位置。当我开始使用mysqld时,有很长的等待时间(我认为这是在执行undos和其他一些事情),还有关于ibd文件丢失的抱怨--这是意料之中的。但是服务器还是启动了。

然后,我备份了“日志”数据库的四个受影响的表。受影响的“归档”表在那里,但无法查询其中的任何数据(“表空间丢失”错误)。接下来,我关闭了mysql并交换了ibd文件--将“归档”ibd文件移回,并删除了“log”ibd文件。mysqld开始抱怨ibd文件丢失。这一次,我去了mysql控制台,删除了四个受影响的“日志”表。然后我从刚才做的备份中恢复了这四张表。

不能100%确定没有丢失任何数据。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/954801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档