已解决 安装如果跳过数据库初始化与数据导入

直接下载了的官方的18.6镜像在腾讯云的容器中部署,指定了数据库,版本是8.0

但是腾讯云的账号权限不够,root账号也不行,会有以下错误

SQLSTATE[42000]: Syntax error or access violation: 1227 Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s) for this operation


然后就本地使用自动安装的方式,然后导出了sql ,再手工把所有的表导入到云上数据库中。但是重启完都有安装的流程,如果跳过数据库初始化的步骤的呢。


现在就是无法完成安装

禅道版本 18.6 源码包
操作系统 CentOS
客户端浏览器

提问者: 元始天尊 悬赏:5 日期: 2023-09-07 11:13:06 答案:1 点击:305

获取技术支持

QQ:1746749398电话:18561939726
设置备注
答案列表
最佳答案
2023/09/07
可以进入容器在zentao/config/目录下创建my.php 文件,文件格式如下(my.php文件中数据库连接信息需要更新为腾讯云数据库连接信息),创建完my.php直接访问禅道看下。
<?php
$config->installed       = true;
$config->debug           = false;
$config->requestType     = 'PATH_INFO';
$config->timezone        = 'Asia/Shanghai';
$config->db->driver      = 'mysql';
$config->db->host        = '127.0.0.1';
$config->db->port        = '3306';
$config->db->name        = 'zentao';
$config->db->user        = 'root';
$config->db->encoding    = 'UTF8';
$config->db->password    = '123456';
$config->db->prefix      = 'zt_';
$config->webRoot         = getWebRoot();
$config->default->lang   = 'zh-cn';
2023/09/07
谢谢!这样设置完后,然后删除了www目录下的install.php跟upgrade.php,可以直接到登录界面了。但是点登录键之后报错了

user-login-Lw==.html:248 Uncaught TypeError: Cannot read properties of null (reading 'result')
at Object.success (user-login-Lw==.html:248:29)
at c (all.js?v=18.6:3:7857)
at Object.fireWith [as resolveWith] (all.js?v=18.6:3:8658)
at k (all.js?v=18.6:5:14015)
at XMLHttpRequest.r (all.js?v=18.6:5:18226)

这个回复框不好截图,就贴一下错误信息
2023/09/07
可以把zentao/config/my.php 文件中debug改为true,重新操作登录禅道,可以把zentao/tmp/logs/目录下php开头文件中报错信息贴出来看下。
2023/09/07
感谢马超兄的回答。

已经解决了,使用云数据库有权限问题的可以参考
权限报错的原因在 /db/zentao.sql 中的第二行 set global show_mode="" 这条命令
解决方法是
1.删除这条命令
2.查看自己数据库的sql_mode, 命令 : show variables like '%sql_mode%';
3. 如果包含 STRICT_TRANS_TABLES,重新设置sql_mode, 去掉STRICT_TRANS_TABLES的原因是,禅道的表设计时给not null 的字段赋予了空字符的默认值
4. 在第一步删掉的地方增加以下命令
set sql_mode="ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION";
2023/09/07
感谢分享