情景:

宝塔终端重启java服务的命令 宝塔重启mysql_宝塔终端重启java服务的命令


(不备份,直接点击mysql进行更新,这里更新后结果为更新成功,目前20230324日版本已经是8.0.32,但是可能我之前的同事或者谁点了更新,但是,没有重启。此刻我开始配置mysqly优化,我以为配置优化不会出问题

宝塔终端重启java服务的命令 宝塔重启mysql_数据库_02


这里开始选择。后面保存,保存成功,然后我去重载配置,重启mysql,

提示为重启失败。我关闭数据库,在命令行重启,报错。

信息为:

不能更新open mysql 文件的pid;

然后找到日志

[InnoDB] InnoDB initialization has started.
2023-06-23T03:22:06.096002Z 1 [ERROR] [MY-013171] [InnoDB] Cannot boot server version 80024 on data directory built by version 80026. Downgrade is not supported

这下在这里砸开了。。。。。。。。。

问题解决

由于mysql8.0之后版本使用
MYSQL在升级的时候,会出发upgrade,这个东西会转换MYSQL的data数据。想到这里就完蛋了。

网上到处找资料,有资料说mysql的data文件搜索inodb损坏,需要修复inodb,有事一顿操作(此时我已经备份data,文件夹)

使用过的命令和操作如下:

、使用innodb_force_recovery
 修改 vim /etc/my.cnf[mysqld]
 innodb_force_recovery = 1
 如果使用innodb_force_recovery = 0(1-6参数),数据库服务未正常启动,继续往下看innodb_force_recovery 参数说明:MySQL :: MySQL 5.7 Reference Manual :: 14.22.2 Forcing InnoDB Recovery

2、通过.ibd和.frm恢复数据
3、删除.idb
以上操作对我无效。

这下破防了,估计mysql数据损坏了。此刻已经找专业机构准备数据恢复了,然后发现10多个数据库,需要上千元。这下估计跑路了。

最后硬着头皮找到吊哥:
操作如下:(主要直接跳过8.0.26 看数据库能否修复版本问题)

1,备份好mysql目录,备份好server/data 目录。
2、卸载mysql(使用安装包安装无法安装)
3、编译安装
4、替换目录,然后进行一系列操作,这里看花了眼。
(需要自己学习下)
5、重启mysql

总结:

升级数据库:一定要备份:切换数据库也要备份,更新完数据库一定要重启,或者重载。我那问题宝塔的数据库都到8.0.32了,哪里更新出的8.0.26?????????一定使用宝塔更新后得重载,或者重启,让服务当时生效。宝塔的定时备份任务一定得开启。