首页 > 解决方案 > 当詹金斯没有数据库时,从詹金斯管道访问远程数据库

问题描述

我必须从 Jenkins 访问云铸造数据库。为此,我已将 Cloud Foundry SQL 端口转发到 Jenkins 本地端口。

在 Jenkins 上,我已经安装了数据库和 SQl 插件并尝试连接 localhost:3306 端口。但是,它给出了以下错误:

错误 2003 (HY000): 无法连接到“127.0.0.1”上的 MySQL 服务器 (111)

标签: mysqljenkinsjenkins-pipelinecloud-foundry

解决方案


我找到了解决方案,它正在发生,因为 cf ssh app-name -L 3306:192.168.32.29:3306 正在执行,然后在运行下一个命令之前终止 ssh。

所以在我的例子中,mysql 找不到任何链接到该端口的数据库。

为了解决这个问题,我必须在后台运行第一个 ssh 命令并运行下一个 mysql 命令。

cf ssh ${appName} -N -L 3306:${db_ip}:3306 & mysql -h 127.0.0.1 -P 3306 -u 用户名 -ppassword db-name < 'mysqlstatements.sql'

操作完成后,我们可以使用 kill 命令关闭后台命令


推荐阅读