找不到 Homebrew MariaDB 10.4.13 - 强制更新到 10.5.5,现在我无法启动我的数据库

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

我无法使用brew 找到MariaDB 版本10.4.13。通过卸载和安装(严重错误)Homebrew 重新安装后,将我的版本升级到 10.5.5

现在我收到以下错误:

020-08-14 20:33:07 0 [注意] InnoDB:使用事件互斥体

2020-08-14 20:33:07 0 [注意] InnoDB:压缩表使用 zlib 1.2.11

2020-08-14 20:33:07 0 [注意] InnoDB:池数量:1

2020-08-14 20:33:07 0 [注意] InnoDB:使用SSE4.2 crc32指令

2020-08-14 20:33:07 0 [注意] InnoDB:初始化缓冲池,总大小 = 268435456,块大小 = 134217728

2020-08-14 20:33:07 0 [注意] InnoDB: 缓冲池初始化完成

2020-08-14 20:33:07 0 [错误] InnoDB:不支持崩溃后升级。重做日志是使用 MariaDB 10.4.13 创建的。

2020-08-14 20:33:07 0 [错误] InnoDB:插件初始化因错误一般错误而中止

2020-08-14 20:33:07 0 [注意] InnoDB: 开始关闭...

2020-08-14 20:33:07 0 [错误]插件“InnoDB”初始化函数返回错误。

2020-08-14 20:33:07 0 [错误] 插件“InnoDB”注册为存储引擎失败。

2020-08-14 20:33:07 0 [注意] 插件“反馈”已禁用。

2020-08-14 20:33:07 0 [错误]未知/不支持的存储引擎:InnoDB

2020-08-14 20:33:07 0 [错误] 正在中止

任何帮助将不胜感激。我的数据目录仍然在 /var/log/mysql 之外的某个地方。

mysql macos mariadb homebrew mariadb-10.4
2个回答
4
投票

我找到的唯一方法是通过重命名我的

/var/lib/mysql
/var/lib/mariadb
目录来备份它们,然后将它们创建为空目录。我知道这对很多人来说不是一个选择,如果您仍在开发和处理种子数据,这应该适合您。

有人谈论从这些目录中删除日志文件,从而保留数据,尽管我还没有尝试过。

据报道已删除日志文件以解决此问题:

/var/lib/mysqld/ib_logfile0
/var/lib/mysql/ib_logfile1
/var/lib/mysql/aria_log_control

参考自https://github.com/laradock/laradock/issues/93


0
投票

错误消息

2020-08-14 20:33:07 0 [ERROR] InnoDB: Upgrade after a crash is not supported. The redo log was created with MariaDB 10.4.13.
是关键方面。

发生的情况是服务器崩溃了(被用户或操作系统强制终止),并且当安装新版本时,它无法识别旧的重做日志格式。

解决方案是在同一数据目录上启动 MariaDB-10.4 实例,然后彻底关闭它。可以通过查看日志中的最后一条消息“关闭完成”来识别清洁度。

之后,您可以在同一数据目录上启动任何较新版本的 MariaDB。

由于在某些打包系统中降级可能很困难,因此您应该以正确的权限运行

mariadb:10.4
使用与卷相同的数据目录
/var/lib/mysql
的 Docker 官方镜像容器并实现相同的目标。

不要去删除Innodb或Aria文件。它们存储尚未写入表空间的更改以及潜在的内部更改。通过删除它们,您可以很容易地获得损坏的数据库。在 10.11+ 中,如果没有这些文件,它就不会启动,以突出显示删除它们是一个错误的选择。

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