mysqld 服务无法启动

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

Fedora 28 决定将 mysql-community 包升级到 8.0(最新)后,我意识到我的应用程序失败了,不得不降级到 mysql 5.27.2

当然我的数据库文件(.idb)是相同的(由 mysql 8.0 更改)。 启动mysql 5.27服务时失败。我已经阅读了日志文件/var/log/mysqld.log并发现了这个:

InnoDB:数据字典中的表标志为0,但 文件./ibdata1是0x4000!

mysql innodb fedora-28
3个回答
27
投票

这个问题已解决删除所有数据库文件:

 sudo rm -rf /var/lib/mysql/*

请注意,这样做您将丢失服务器中的所有数据库! 就我而言,我有一个转储,我可以恢复。


3
投票

确保您使用的是 MySQL 8.0 版客户端,以避免出现此错误

RCA 1.您尝试使用 mysqld_safe(ver5) 而不是版本 8.0 启动较新版本的 mysql 服务器

解决方案

export MYSQL_8_HOME=/path/to/mysql-8.0.17-macos10.14-x86_64 #e.g /usr/local/mysql-8.0.17-macos10.14-x86_64
cd $MYSQL_8_HOME # where is the dorectory mysql v8.0 was installed.
bin/mysqld_safe --user=mysql --datadir=/path/to/data/mysql 

为了增加措施,您可以考虑更新 PATH 变量,以像这样的较新版本的 MySQL 程序作为前缀

export PATH=$MYSQL_HOME/bin:$PATH

启动 mysqld_safe 之前


0
投票

我尝试了很多技巧来修复MySQL [官方] Docker 镜像每次崩溃,在5.7版本错误是:

InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!

8.0版本中错误是:

The designated data directory /var/lib/mysql/ is unusable

Cannot create redo log files because data files are corrupt

Table ‘mysql.plugin’ doesn’t exist

💡一个简单的建议:不要使用MySQL官方docker镜像。使用
bitnami/mysql
image 一切都会好起来的!

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