1Panel jumpserver v4.8.1升级v4.10.1报错启动异常

1Panel面板里 从jumpserver v4.8.1升级到v4.10.1报错启动异常。看了报错信息 初步判断是数据库上面的问题。现在备份数据库后退回v4.8.1后导入数据库可以正常登录但是资产信息都看不到 web界面一直报错(服务器错误)。有没有知道怎么解决的大佬,请不吝赐教。

一样,这个升级草率了

给我研究一天了 我估计是新版本吧数据库的某些表改了后影响到了。我现在只能吧数据库备份下来。看看官方下个版本能不能修好。直接给我干懵逼了。

我数据库有备份,但是有较少的更新尚未备份,我就升级了…这是1Panel4.10.1镜像有问题啊

应该是 我试过单独重新部署v4.10.1 也跑不起来

都给官方打个电话反馈下,看他们能尽快解决不

可以打电话反馈一下 但是社区版估计不会第一时间给解决

存在同名索引,应该是直接手动改动过,或者我们协助更改过,添加这个索引会提高速度。请删掉报错提示的那个索引 audits_ftplog_account_xxx

我也这样的问题,但是并没有手动改动mysql

方便发下空的数据库表结构么 这样能更精准的定位问题

怎么给你

没有动过数据库 就是直接在面板点的升级 然后出的这个问题

github issues里传一下

参考 https://github.com/jumpserver/jumpserver/issues/15447

https://github.com/jumpserver/jumpserver/issues/15447 根据这个修改也可以

看了github issues了 现在这个问题我试过了单独重新全新装v4.10.1 重新新建数据库。还是一样的报错。

是要空的数据库表么

哥哥们,官方帮我弄好了

已确定最终问题, 1panel 创建的 jumpserver 数据库默认是 utf8mb4 的,也就是一个字符占用 4个字节,asset 是 varchar(1024), 也就是 4096, 而 mysql 索引最大是 3072, 所以报错了。但如果数据库是 utf8mb3 不会出现这个问题。

解决方案:

  1. 更改 audits_ftplog 中 asset 字段的字符集
ALTER TABLE audits_ftplog MODIFY asset VARCHAR(1024) CHARACTER SET utf8 COLLATE utf8_general_ci;
  1. 查看已添加的索引
SHOW INDEX FROM audits_ftplog;

# 看到那个 audits_ftplog_account_xxxx 
  1. 删除已添加的 account 索引
DROP INDEX audits_ftplog_account_xxxx ON table_name;
  1. 重新启动
1 个赞

已解决 非常感谢