升级到php 5.5(我知道它是旧的),并更新了我的phpMyAdmin版本,以及MySQL到5. 7,现在MySQL不会启动...
查看mysqld日志:2018-03-16T16:35:54.553247Z 0 [ERROR] InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages! 2018-03-16T16:35:54.553310Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2018-03-16T16:35:55.153859Z 0 [ERROR] Plugin 'InnoDB' init function returned error. 2018-03-16T16:35:55.153924Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2018-03-16T16:35:55.153944Z 0 [ERROR] Failed to initialize builtin plugins. 2018-03-16T16:35:55.153964Z 0 [ERROR] Aborting
有人能让我知道为什么会发生这种情况吗?
3条答案
按热度按时间ttcibm8c1#
配置文件/etc/my.cnf包含一个innodb_xxxx,它引用了一个大小为768页的自动扩展。
innodb_数据_主目录
innodb_数据_文件_路径
完整的语法描述了此值
范例
如果您可以访问以前运行的MySQL(就像您朋友的另一个服务器),请登录到mysql客户端并键入以下内容以查看运行配置
为什么会这样?
现有的innodb存储文件小于my.cnf配置中指定的初始大小。
希望这件事情说清楚。
gt0wga4j2#
对于未来的用户,这是我的经验:
我遇到了同样的错误,问题是我的本地卷不存在。
文件夹
./db
不存在。在当前路径中创建文件夹后,它可以正常工作。
xfb7svmp3#
我遵循了你的建议,并制定了一个解决方案,这是大约2行在bash,你在那里.我看到以下消息后,启动一些mysql/mariadb服务器或docker图像:
自动扩展innodb_system数据文件“./ibdata 1”的大小0页与.cnf文件中指定的大小不同:初始768页,最多0页(如果非零,则相关)!
然后检测到以前的安装,并且数据文件空间不兼容。一个简单直接的解决方案是删除可能在主机上备份的现有容器映像。快速启动Docker
rmi
命令已准备好完成一个干净但不可逆的操作,您应该知道您的Docker映像的名称,例如mariadb:重试运行新的mysql映像:
数据库将使用InnoDB 768 M空间数据进行初始化。