Jinkxs 2025-08-20 16:02 采纳率: 0%
浏览 17
已结题

配置最新禅道(Zentao)数据库支持远程连接

要配置最新禅道(Zentao)数据库支持远程连接,请按以下步骤操作:

✅ 1. 修改 MySQL 配置文件

禅道使用内置的 MySQL/MariaDB,配置文件通常位于:

/opt/zbox/etc/mysql/my.cnf

编辑该文件,找到并注释掉以下行(在前面加 #):

# bind-address = 127.0.0.1

确保 MySQL 监听所有 IP,而非仅本地。


✅ 2. 重启数据库服务

# 进入禅道命令行工具目录
cd /opt/zbox

# 重启服务
./zbox restart

✅ 3. 创建允许远程访问的数据库用户

登录禅道数据库:

./bin/mysql -u root -p
# 默认密码:123456(或查看安装时设置)

执行 SQL 授权命令:

-- 创建用户(例如 zentao_user)并允许从任意主机连接
CREATE USER 'zentao_user'@'%' IDENTIFIED BY 'YourStrongPassword';

-- 授予所有权限(生产环境建议按需授权)
GRANT ALL PRIVILEGES ON zentao.* TO 'zentao_user'@'%';

-- 刷新权限
FLUSH PRIVILEGES;

🔐 建议:生产环境使用 'zentao_user'@'特定IP' 限制访问来源。


✅ 4. 防火墙开放端口

确保服务器防火墙开放 MySQL 默认端口 3306

# CentOS 7+
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

# 或使用 iptables
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

✅ 5. 远程连接测试

使用客户端(如 Navicat、MySQL Workbench)连接:

  • 主机:你的服务器 IP
  • 端口:3306
  • 用户名:zentao_user
  • 密码:YourStrongPassword
  • 数据库:zentao

⚠️ 安全建议

  • ❌ 不要长期使用 root 账号远程连接。
  • ✅ 使用强密码并限制 IP 访问。
  • 🔒 考虑通过 SSH 隧道连接更安全。

完成以上步骤后,即可实现禅道数据库的远程访问。

  • 写回答

2条回答 默认 最新

  • 檀越@新空间 2025-08-20 16:30
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    要配置最新禅道(Zentao)数据库支持远程连接,需按照以下步骤进行操作。重点部分已加粗显示,并以有序列表形式列出解决方案


    1. 修改 MySQL 配置文件

    禅道使用的是内置的 MySQL 或 MariaDB,其配置文件通常位于:

    /opt/zbox/etc/mysql/my.cnf
    
    • 编辑该文件

      sudo nano /opt/zbox/etc/mysql/my.cnf
      
    • 找到并注释掉以下行(在前面加 #):

      # bind-address = 127.0.0.1
      
    • 确保 MySQL 监听所有 IP 地址,而不是仅本地地址。


    2. 重启数据库服务

    • 进入禅道命令行工具目录

      cd /opt/zbox
      
    • 重启服务

      ./zbox restart
      

    注意: 如果你没有权限执行此命令,请使用 sudo 提权。


    3. 创建允许远程访问的数据库用户

    • 登录禅道数据库

      ./bin/mysql -u root -p
      
      • 默认密码为 123456(或查看安装时设置的密码)。
    • 执行 SQL 授权命令(例如创建一个名为 zentao_user 的用户):

      -- 创建用户并允许从任意主机连接
      CREATE USER 'zentao_user'@'%' IDENTIFIED BY 'YourStrongPassword';
      
      -- 授予所有权限(生产环境建议按需授权)
      GRANT ALL PRIVILEGES ON zentao.* TO 'zentao_user'@'%';
      
      -- 刷新权限
      FLUSH PRIVILEGES;
      

    安全建议

    • 不要长期使用 root 账号远程连接
    • 建议使用 zentao_user@特定IP 来限制访问来源,例如:
      CREATE USER 'zentao_user'@'192.168.1.100' IDENTIFIED BY 'YourStrongPassword';
      

    4. 防火墙开放端口

    确保服务器防火墙开放 MySQL 默认端口 3306

    CentOS 7+ 使用 firewalld

    sudo firewall-cmd --permanent --add-port=3306/tcp
    sudo firewall-cmd --reload
    

    使用 iptables

    sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    sudo service iptables save
    

    5. 远程连接测试

    使用客户端(如 Navicat、MySQL Workbench)连接:

    • 主机:你的服务器 IP
    • 端口:3306
    • 用户名:zentao_user
    • 密码:YourStrongPassword
    • 数据库:zentao

    ⚠️ 安全建议

    • 不要长期使用 root 账号远程连接
    • 使用强密码并限制 IP 访问。
    • 考虑通过 SSH 隧道连接更安全

    🔒 可选:通过 SSH 隧道连接

    如果对安全性要求较高,可以使用 SSH 隧道方式连接数据库:

    ssh -L 3306:localhost:3306 user@your_server_ip
    

    然后使用本地客户端连接 localhost:3306,相当于通过 SSH 加密通道访问数据库。


    ✅ 总结

    按照上述步骤完成配置后,即可实现禅道数据库的远程访问。请务必遵循安全规范,避免因配置不当导致的安全风险。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月20日
  • 创建了问题 8月20日