gpt4 book ai didi

mysql - 尝试将 ARCHIVE 引擎上的旧 mysql 数据库转换为 innodb

转载 作者:行者123 更新时间:2023-11-29 18:04:35 26 4
gpt4 key购买 nike

我有一个非常旧的数据库,显然是使用名为 Archive Storage Engine 的引擎构建的 - 显然较新版本的 MySQL 不支持开箱即用 - 显然在编译时添加了一个开关来构建它....

Anywho - 我正在尝试通过以下方式恢复此数据:1)将所有表的引擎转换为innodb - 使用支持archive和innodb的mysql版本?或者2)以某种方式找到一个仍然支持它的正常运行的mysql版本,这样我就可以以某种方式转储表并更改sql文件以在导入时实现innodb?

其中任何一个都可能吗?任何指导或指向正确方向的指示都会非常有帮助。我一开始对这些引擎了解不多,对Archive更是了解甚少。我什至可能会问不可能的事情?

提前感谢大家!

编辑:我能够下载支持所有引擎的旧版本 mysql。能够从 mysql 根目录加载所有数据库文件和 ib* 文件(我在另一篇文章中读到这是必要的),并且我能够将每个表转储为单独的文件。然后,我将所有 ENGINE=ARCHIVE 替换为 ENGINE=InnoDB,并且能够将这些表导入回服务器 mysql 中,并且一切正常。

最佳答案

更改日志表明 ARCHIVE 引擎尚未从 MySQL 或 MariaDB 中删除。

您运行的是哪个版本。

您可以从存档表中SELECT吗?如果是这样,那么这应该有效:

CREATE TABLE new ( ... ) ENGINE=InnoDB
SELECT * FROM my_archive_table;

与数据库同名的目录中存在哪些文件?应该有一个 my_archive_table.frm 文件和至少一个其他文件。

这会给你带来什么:

SHOW TABLE STATUS LIKE 'my_archive_table';

关于mysql - 尝试将 ARCHIVE 引擎上的旧 mysql 数据库转换为 innodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com