当前位置:首页 > 数据库 > 正文

禅道数据库怎么访问地址

道数据库可通过网页访问http://禅道服务器ip:apache端口,使用adminer工具并添加用户后登录;或通过命令行本地 访问/opt/zbox/bin/mysql -uroot -p123456,默认用户名为root,密码123456, 数据库

本地环境访问方式

  1. 通过Web管理工具登录

    • 在线版phpMyAdmin入口:在浏览器中输入 http://<服务器IP>:9000/,系统会弹出窗口要求输入用户名和密码,默认情况下,MySQL的连接参数如下:
      • 系统类型:选择“MySQL”;
      • 服务器地址:填写 0.0.1:9001(若端口非标准需调整);
      • 用户名:root(禅道默认账户);
      • 密码:123456(默认密码),数据库名称通常为 zentao,如果用户自行创建过新用户(如执行过 ./adduser.sh 脚本),则可以使用自定义的账号登录。
    • Auth目录操作路径:进入服务器的 /opt/zbox/auth/ 目录,运行 ./adduser.sh 脚本添加新用户,此后可用该用户凭证访问数据库。
  2. 客户端工具连接(以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 | 对应用户的密码 | 强复杂度策略更佳 |

跨主机远程访问配置要点

为实现异机访问禅道数据库,需完成以下准备工作:

  1. 授权远程用户:在MySQL中执行授权命令,例如给特定用户赋予远程访问权限;
  2. 修改绑定地址:定位到Windows版的 xampp/mysql/my.ini 或Linux版的 /opt/zbox/etc/mysql/my.cnf,注释掉 bind-address=127.0.0.1这一行;
  3. 刷新权限并重启服务:依次执行 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'; 命令更新认证信息,操作完成后

0