从备份的IBD文件恢复MySQL

问题描述 投票:0回答:1

昨晚,我在 Ubuntu 上运行的 MySQL 数据库发生了一些问题,无论我做什么,我都无法让它启动。 我最终不得不备份 /var/lib/mysql 文件夹并完全擦除并重新安装 MySQL 8。重新安装 MySQL 后,它加载正常。 当然,我的数据库都不存在。

除了文件夹的备份之外,我确实有1.5年前的正确备份文件(是的,我知道。我自己的错。说来话长,为什么我在这里失败了,但值得注意的是,这是一台个人机器,而不是一个word数据库.).

我最初导入了这些备份,以便数据库存在。 然后,我尝试在 MySQL 未运行的情况下,将我从 mysql 文件夹保存的 IBD 文件复制回正确的位置。 问题是,当我去检查这些时,它告诉我“错误 1812 (HY000):表

DATABASE
缺少表空间。
TABLE
。”

有什么想法或建议吗? 到目前为止我已经为此苦苦挣扎了 4 个小时。

谢谢!

mysql innodb
1个回答
0
投票

我相信我已经解决了。 我一直在尝试 ALTER TABLE IMPORT TABLESPACE,但是我错过了运行 CHOWN 以使用户 mysql 成为复制的 ibd 文件的所有者所需的内容。一旦我执行了 CHOWN,我就可以导入表空间,它似乎正在工作。

© www.soinside.com 2019 - 2024. All rights reserved.