禅道数据库怎么访问地址
- 数据库
- 2025-08-01
- 2
本地环境访问方式
-
通过Web管理工具登录
- 在线版phpMyAdmin入口:在浏览器中输入
http://<服务器IP>:9000/
,系统会弹出窗口要求输入用户名和密码,默认情况下,MySQL的连接参数如下:- 系统类型:选择“MySQL”;
- 服务器地址:填写
0.0.1:9001
(若端口非标准需调整); - 用户名:root(禅道默认账户);
- 密码:123456(默认密码),数据库名称通常为
zentao
,如果用户自行创建过新用户(如执行过./adduser.sh
脚本),则可以使用自定义的账号登录。
- Auth目录操作路径:进入服务器的
/opt/zbox/auth/
目录,运行./adduser.sh
脚本添加新用户,此后可用该用户凭证访问数据库。
- 在线版phpMyAdmin入口:在浏览器中输入
-
客户端工具连接(以Navicat为例)
- 常规配置:打开Navicat,新建一个MySQL连接,主机字段填入数据库所在服务器的IP地址或域名;端口一般为3306(若未修改默认设置);用户名和密码与Web管理工具一致,对于Docker部署的环境,需先进入容器内部查找实际监听地址。
- SSH隧道模式:当数据库仅允许内网访问时,可通过SSH跳转实现安全连接,此方式尤其适合生产环境的安全管控需求。
Docker容器内的修改流程
如果使用Docker运行禅道,调整数据库地址需要遵循以下步骤:
| 序号 | 操作描述 | 命令示例 | 注意事项 |
|——|————————–|———————————–|——————————|
| 1 | 停止当前运行的容器 | docker stop <container_name>
| 确保数据已备份 |
| 2 | 导出备份SQL文件 | docker exec ... mysqldump ...
| 替换<username>
等占位符 |
| 3 | 编辑配置文件 | vi /www/zentaopms/config/my.php
| 关键参数包括$dbHost
等 |
| 4 | 重启服务使更改生效 | docker start <container_name>
| 观察日志确认是否启动成功 |
| 5 | 验证连接状态 | 通过Web界面测试功能可用性 | 检查数据完整性及权限正常性 |
特别地,配置文件中的数据库相关变量说明如下表所示:
| 变量名 | 默认值 | 作用 | 修改建议 |
|————–|————–|———————-|——————————|
| $dbHost
| 127.0.0.1 | 数据库主机地址 | 根据实际部署改为局域网IP |
| $dbPort
| 3306 | 服务监听端口号 | 容器间通信可保持默认值 |
| $dbName
| zentao | 指定的库名称 | 避免与其他业务系统冲突命名 |
| $dbUser
| root | 认证用户名 | 推荐创建专用账户提升安全性 |
| $dbPassword
| password | 对应用户的密码 | 强复杂度策略更佳 |
跨主机远程访问配置要点
为实现异机访问禅道数据库,需完成以下准备工作:
- 授权远程用户:在MySQL中执行授权命令,例如给特定用户赋予远程访问权限;
- 修改绑定地址:定位到Windows版的
xampp/mysql/my.ini
或Linux版的/opt/zbox/etc/mysql/my.cnf
,注释掉bind-address=127.0.0.1
这一行; - 刷新权限并重启服务:依次执行
FLUSH PRIVILEGES;
和重启MySQL进程,完成上述操作后,外部设备即可通过公网IP+端口号的方式连接到数据库。
常见问题排查指南
- 现象:提示“Access denied for user”,原因可能是未正确输入用户名/密码组合,或者该用户没有被授权从当前主机访问数据库;
- 解决方法:双重校验凭据是否正确,同时确认该用户是否具备远程访问权限;
- 现象:无法建立TCP连接,可能由于防火墙阻挡了所需端口,或者数据库未监听来自外部的流量;
- 解决方法:检查防火墙规则是否放行了相应端口,并且确保数据库配置文件允许外部网络访问;
- 现象:能连通但查询失败,这可能是因为选择了错误的数据库名称,或者表结构已经发生变化;
- 解决方法:核实目标数据库是否存在且包含预期的数据表,必要时进行数据恢复操作。
FAQs
Q1: 如何在不中断服务的情况下安全修改数据库地址?
A: 建议采用“双写”过渡方案:先在原配置文件旁创建副本进行测试性修改,确认无误后通过热切换技术逐步引流至新实例,同时保持新旧配置并存一段时间,便于快速回滚。
Q2: 忘记MySQL root密码怎么办?
A: 对于Docker环境,可通过覆盖初始化脚本重置密码;物理服务器则可启动安全模式跳过权限检查,然后执行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
命令更新认证信息,操作完成后