You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rundeck配置本地MySQL后无法启动,连接池初始化失败求助

Rundeck配置MySQL后无法启动问题排查

问题描述

Rundeck默认配置可正常运行,但配置MySQL(版本8.0.34-0ubuntu0.22.04.1)作为后端数据库后无法启动,日志提示无法连接MySQL服务器。已尝试重装数据库、修改认证设置、安装MySQL JDBC驱动,但问题依旧。

关键错误日志

[2023-10-04T09:55:12,015] ERROR pool.ConnectionPool [main] - Unable to create initial connections of pool.
java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=myserver)(port=3306)(type=master) : Socket fail to connect to host:myserver, port:3306. myserver

排查与修复步骤

核心问题是Rundeck无法建立到MySQL服务器的网络连接,按以下步骤逐一验证:

1. 验证主机名解析

确保myserver能被Rundeck服务器正确解析:

ping myserver
nslookup myserver

若解析失败,直接替换为MySQL服务器的IP地址,修改/etc/rundeck/rundeck-config.properties中的连接URL:

dataSource.url = jdbc:mysql://192.168.x.x/rundeck?autoReconnect=true&useSSL=false

2. 检查MySQL服务状态与端口监听

确认MySQL服务运行正常且监听3306端口:

# 检查服务状态
systemctl status mysql

# 检查端口监听
netstat -tulpn | grep 3306

若MySQL未监听3306,修改/etc/mysql/mysql.conf.d/mysqld.cnf中的bind-address为0.0.0.0(允许所有IP访问)或Rundeck服务器的IP,然后重启服务:

systemctl restart mysql

3. 检查防火墙/安全组规则

验证Rundeck服务器能访问MySQL的3306端口:

# 测试端口连通性
telnet myserver 3306
# 或使用nc工具
nc -zv myserver 3306

若不通,开放防火墙端口:

# Ubuntu/Debian系统
ufw allow 3306/tcp

# CentOS/RHEL系统
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

4. 验证MySQL用户权限

确保rundeckuser拥有从Rundeck服务器IP访问的权限:

# 登录MySQL控制台
mysql -u root -p

# 授予权限(替换为Rundeck服务器实际IP)
GRANT ALL PRIVILEGES ON rundeck.* TO 'rundeckuser'@'rundeck-server-ip' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

若为本地MySQL,可使用'rundeckuser'@'localhost'(仅允许本地访问)。

5. 调整JDBC驱动与URL参数

当前使用MariaDB驱动虽兼容MySQL,但建议切换为官方MySQL JDBC驱动:

  • 下载MySQL JDBC驱动(mysql-connector-java-8.0.x.jar)放入/var/lib/rundeck/lib目录
  • 修改rundeck-config.properties中的驱动类:
dataSource.driverClassName = com.mysql.cj.jdbc.Driver

同时,MySQL 8.0需指定时区参数,更新连接URL:

dataSource.url = jdbc:mysql://myserver/rundeck?autoReconnect=true&useSSL=false&serverTimezone=UTC

6. 确认数据库已创建

确保rundeck数据库存在:

CREATE DATABASE rundeck CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

完成以上步骤后,重启Rundeck服务:

systemctl restart rundeckd

内容的提问来源于stack exchange,提问作者Noah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 10:13:12