服务器最初安装了 ubuntu18,大约1年多后升级到ubuntu20.
前一个月升级到ubuntu22,无任何问题。
有点大意了,觉得干脆升级到最新版ubuntu24.
升级后发现openkm不能工作了,原因是mysql无法启动。
运行mysql报错如下:
mysql版本是5.6。
因为openkm内存有大量文件,所以还是要赶紧恢复。
尝试重新安装,mysql官网5.6安装包仅有ubuntu14系统的。
下载下来尝试安装,失败。
看来主要就是升级到ubuntu24后,相关支持库发生较大变化。
如果有数据库备份文件,倒是可以考虑使用备份文件导入到高版本mysql服务内。
当然也可以尝试使用高版本mysql服务加载mysql5.6的数据目录下的文件。
这个存在一定风险。
为了尽快恢复服务,这里采取在其他服务器安装mysql5.6,将数据文件复制过去并加载。
创建了一个虚拟机,os采用TencentOS3.1(兼容CentOS8),mysql官网5.6只有CentOS7的安装包,测试可以安装在TencentOS3.1上。
mysql配置文件my.cnf修改datadir参数,重新启动mysql服务。
因为mysql服务的地址发生变化,需要检查mysql授权和openkm配置文件内数据库的地址。
openkm配置文件在conf目录下的server.xml文件内。
TencentOS3.1默认的防火墙是firewalld,需要添加数据库服务端口访问权限,添加后重启firewalld服务。
在openkm服务器内测试以下访问端口,命令如下:
nc -w1 -z -v ip地址 端口
测试通过启动openkm服务,服务回复成功。
此时,如果想要将数据库还放在openkm所在服务器内,只需要安装高版本mysql服务后,使用mysqldump命令导出数据,并在新mysql服务器内设置数据库账号权限即可。