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里传一下
看了github issues了 现在这个问题我试过了单独重新全新装v4.10.1 重新新建数据库。还是一样的报错。
是要空的数据库表么
哥哥们,官方帮我弄好了
已确定最终问题, 1panel 创建的 jumpserver 数据库默认是 utf8mb4 的,也就是一个字符占用 4个字节,asset 是 varchar(1024), 也就是 4096, 而 mysql 索引最大是 3072, 所以报错了。但如果数据库是 utf8mb3 不会出现这个问题。
解决方案:
- 更改 audits_ftplog 中 asset 字段的字符集
ALTER TABLE audits_ftplog MODIFY asset VARCHAR(1024) CHARACTER SET utf8 COLLATE utf8_general_ci;
- 查看已添加的索引
SHOW INDEX FROM audits_ftplog;
# 看到那个 audits_ftplog_account_xxxx
- 删除已添加的 account 索引
DROP INDEX audits_ftplog_account_xxxx ON table_name;
- 重新启动
1 个赞
已解决 非常感谢