卷王开启验证码后无法登陆问题解决

问题描述

使用 docker 部署,后台设置开启验证,重启服务器之后,docker重启,再次访问系统,验证码获取失败,导致无法进行验证,也就无法登陆系统。

如果不了解卷王的,可以去官网看下。
https://surveyking.cn/

问题解决

1. 关闭验证,继续使用

通过 docker 容器,将 /surveyking/surveyking.mv.db 复制到宿主机中。

使用 h2 数据库连接工具(可使用 datagrip,驱动为最新版本驱动)

账号为:sa

密码为:sa

连接方式:embedded

参考连接:(连接地址上面,不要加后缀.mv.db)

jdbc:h2:~/TEMP/surveyking

连接成功后,在 PUBLIC 的 schemas 下面,会有一张T_SYS_INFO表。

将这张表的 SETTING 字段,设置为 {“captchaEnabled”:false}

保存后,将数据库文件,通过 docker 命令,复制到容器内,覆盖原有内容。

注意命名不要发生改变。

重启 docker 容器,再次访问,验证即关闭了。

2. 数据迁移,重新部署

通过 docker 容器,将 /surveyking/surveyking.mv.db 复制到宿主机中。

使用 h2 数据库连接工具(可使用 datagrip,驱动为最新版本驱动)

账号为:sa

密码为:sa

连接方式:embedded

参考连接:(连接地址上面,不要加后缀.mv.db)

jdbc:h2:~/TEMP/surveyking

连接成功后,复制下面几张表中的数据

  • T_ANSWER:收集数据
  • T_PROJECT:项目配置
  • T_PROJECT_PARTNER:项目协作者配置(该表数据会有重复,将id 不重复的复制进去即可)

复制这几张表数据后,将数据导入到自己的 mysql 数据库中。

然后重新部署,使用 mysql 数据库,后续问题更方便排查一些。

参考启动脚本

APP_NAME=/opt/surveyking/surveyking-v1.6.0.jar
# 部署后端
nohup java -jar ${APP_NAME} \
--spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/surveyking \
--spring.datasource.dynamic.datasource.master.username=surveyking \
--spring.datasource.dynamic.datasource.master.password=surveyking \
--server.port=1991 \
--file-storage.local.root-path=/opt/surveyking/files >> /opt/surveyking/qustion.log &

你可能感兴趣的:(服务器,教程,问题记录,服务器,运维,数据库)