【发布时间】:2021-04-21 12:09:27
【问题描述】:
我删除了 mysql 并安装了 mariadb,我猜删除 mysql 破坏了 InnoDB(我是新手)。
InnoDB: Plugin initialization aborted with error Data structure corruption
完整日志:
-- Subject: Unit mariadb.service has begun start-up
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Unit mariadb.service has begun starting up.
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] /usr/sbin/mariadbd (mysqld 10.5.8-MariaDB) starting as process 6137 ...
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Warning] Could not increase number of max_open_files to more than 16384 (request: 32183)
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: Using Linux native AIO
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: Uses event mutexes
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: Number of pools: 1
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: Completed initialization of buffer pool
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed>
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [ERROR] InnoDB: Invalid flags 0x4800 in ./ibdata1
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption
Jan 16 18:25:55 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:55 0 [Note] InnoDB: Starting shutdown...
Jan 16 18:25:56 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:56 0 [ERROR] Plugin 'InnoDB' init function returned error.
Jan 16 18:25:56 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:56 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
Jan 16 18:25:56 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:56 0 [Note] Plugin 'FEEDBACK' is disabled.
Jan 16 18:25:56 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:56 0 [ERROR] Could not open mysql.plugin table: "Table 'mysql.plugin' doesn't exist". Some plugins may be n>
Jan 16 18:25:56 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:56 0 [ERROR] Unknown/unsupported storage engine: InnoDB
Jan 16 18:25:56 CentOSVPS1.DylanMediaPC mariadbd[6137]: 2021-01-16 18:25:56 0 [ERROR] Aborting
Jan 16 18:25:56 CentOSVPS1.DylanMediaPC systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Jan 16 18:25:56 CentOSVPS1.DylanMediaPC systemd[1]: mariadb.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
Edit1:根据下面的帖子,曾经被称为“插件”的 InnoDB 实现包含在 mysql 中,我猜是 mariadb。那么我应该重新安装 mariadb 来修复 innodb 吗?
https://dev.mysql.com/doc/refman/5.5/en/innodb-installation.html
当您使用 InnoDB 存储引擎 1.1 及更高版本以及 MySQL 5.5 及更高版本时,您无需进行任何特殊的安装:所有内容都配置为 MySQL 源代码和二进制发行版的一部分。
Edit2:我在安装 mariadb、删除 mysql 和安装 mysql 时使用了yum history undo。然后安装mariadb。这并没有解决问题,但确实清理了一些未使用的 mysql 依赖项。
Edit3:下面帖子中的以下命令解决了我的问题:
sudo rm -rf /var/lib/mysql/*
sudo mysql_install_db -u mysql
https://dba.stackexchange.com/questions/275885/innodb-failing-to-start-mysql-not-loading-plugins
【问题讨论】: