我有一个基于Spring Boot
的{{1}}应用程序,该应用程序已部署在REST
上并且工作正常。但是此REST应用程序到目前为止没有任何数据库连接。因此,我决定从市场上的Pivotal Cloud Foundry (PCF)
安装MySQL
服务,并最终将其成功绑定到我的应用程序。
但是,问题是我无法通过PCF
或任何其他MySQL
连接到这个新创建的CLI
实例。
到目前为止,我一直关注以下链接,但没有运气。
我为实现此目的而执行的步骤是:
GUI
创建服务实例将MySQL
的服务实例成功绑定到应用程序(请参见上面的MySQL
s命令结果)
#cf个服务
名称服务计划绑定的应用程序的最后操作
cf service
成功推送了我的应用程序,并可以成功点击my-mysql-db cleardb spark agrisell-rest-app create succeeded
已成功使用REST API
在主机应用上启用ssh
使用cf enable-ssh agrisell-rest-app
创建的服务密钥(创建后获取服务密钥的命令如下所示)
#cf服务键my-mysql-db
名称 my-mysql-db-service-key
使用以下命令检索服务密钥和数据库凭据
cf服务键my-mysql-db my-mysql-db-service-key
cf create-service-key my-mysql-db my-mysql-db-service-key
已成功配置{
"hostname": "us-cdbr-iron-east-01.cleardb.net",
"jdbcUrl": "jdbc:mysql://us-cdbr-iron-east-01.cleardb.net/ad_b509d7f388732d5?user=hello123\u0026password=world456",
"name": "ad_b509d7f388732d5",
"password": "world456",
"port": "3306",
"uri": "mysql://b311794a3c31eb:ca7ad71f@us-cdbr-iron-east-01.cleardb.net:3306/ad_b509d7f388732d5?reconnect=true",
"username": "hello123"
}
隧道
cf ssh -L 63306:us-cdbr-iron-east-01.cleardb.net:3306 agrisell-rest-app
通过SSH
vcap @ 33eb3942-10bd-4068-650f-64fc:〜$ mysql -u hello123 -h 0 -p -D ad_b509d7f388732d5 -P 63306 bash:mysql:找不到命令
基于上述错误,我觉得好像没有正确安装mysql插件,但我已经安装了它们。
CLI
第二种方法:
我尝试的第二种方法是通过# cf plugins
Listing installed plugins...
plugin version command name command help
mysql 2.0.0 mysql Connect to a MySQL database service
mysql 2.0.0 mysqldump Dump a MySQL database
Use 'cf repo-plugins' to list plugins in registered repos available to install.
连接到PCF MySQL DB
,而MySQL Workbench
与MySQL
上的服务器安装捆绑在一起。
我使用它来连接到本地Windows
。我修改了设置以将其指向主机,数据库,并更改了凭据,并尝试连接也不起作用。
第三种方法
我尝试的第三种方法是安装MySQL DB
文档之一中的Pivotal MySQL Web Database Management
工具
PCF
我将其安装在https://docs.pivotal.io/p-mysql/2-2/use.html#mysqlweb
机器上(没有将其部署到Windows 10
)并尝试登录,但也失败了。
第二种方法尝试并失败
根据您的回答Arun,我按照此处的自述文件(https://github.com/pivotal-cf/PivotalMySQLWeb)中的所有说明进行操作,但不允许我使用数据库URL和凭据登录到该应用程序。使用凭证PCF
进行的首次登录有效,但是需要DB凭证和密码的登录页面却使我返回到第一个登录屏幕,并显示一条消息“ Bad Credentials”。下面的屏幕截图。
在PCF上部署了PivotalMysqlWeb并将其绑定到数据库实例
使用admin / cfmysqlweb凭据成功进行基本身份验证后立即显示的登录页面
在上方和提交状态下输入的数据库凭据,将带回我的第一个登录页面(返回第一页)
答案 0 :(得分:0)
您无法使用PC /笔记本电脑中的工具(例如,对MySQL App进行的操作)与任何Marketplace service
进行连接
原因是PCF中的任何Marketplace服务都可以在任何地方运行,而您只是得到其中的instance
。
出于安全目的,您的Marketplace服务(您订购的..您已付款)仅仅暴露于该特定PCF Foundation
..
如果您仍然想连接到MySQL并查看数据库,建议您使用PivotalMySQLWeb tool。您将必须在同一PCF-space
中上传该应用程序,并将其绑定到您在该MySQL DB Instance
中创建的space
上。您可以在他们的README file
答案 1 :(得分:0)
我安装了MySQL Workbench并创建了一个新连接。然后在PCF(您发布的服务)上的服务详细信息中填写详细信息
{
"hostname": "us-cdbr-iron-east-01.cleardb.net",
"jdbcUrl": "jdbc:mysql://us-cdbr-iron-east-01.cleardb.net/ad_b509d7f388732d5?user=hello123\u0026password=world456",
"name": "ad_b509d7f388732d5",
"password": "world456",
"port": "3306",
"uri": "mysql://b311794a3c31eb:ca7ad71f@us-cdbr-iron-east-01.cleardb.net:3306/ad_b509d7f388732d5?reconnect=true",
"username": "hello123"
}
所以在您的情况下:
主持人:us-cdbr-iron-east-01.cleardb.net
用户名:hello123
密码:world456
默认架构:ad_b509d7f388732d5 端口:3306
有趣的是,默认架构需要匹配“名称”属性。我输入了自定义名称,无法连接。不太确定为什么,但是您能做什么。
答案 2 :(得分:0)
如果有人要从IntelliJ连接 aws-rds-mysql (从Pivotal Cloud Foundry实例化),请执行以下步骤:
一旦创建了ssh隧道,就可以从本地主机上的端口63306访问AWS-RDS数据库,按照说明进行操作,以便将DB与DB Navigator插件(intelliJ)连接起来
步骤也可以从GitHub
获得。