如何通过MySQL Workbench或CLI或MySQLWeb数据库管理应用程序连接到Pivotal Cloud Foundry(PCF)上的MySQL服务?

时间:2019-01-21 05:41:30

标签: mysql pivotal-cloud-foundry pivotal-web-services pcfdev

我有一个基于Spring Boot的{​​{1}}应用程序,该应用程序已部署在REST上并且工作正常。但是此REST应用程序到目前为止没有任何数据库连接。因此,我决定从市场上的Pivotal Cloud Foundry (PCF)安装MySQL服务,并最终将其成功绑定到我的应用程序。

但是,问题是我无法通过PCF或任何其他MySQL连接到这个新创建的CLI实例。

到目前为止,我一直关注以下链接,但没有运气。

我为实现此目的而执行的步骤是:

  1. 已成功为GUI创建服务实例
  2. MySQL的服务实例成功绑定到应用程序(请参见上面的MySQL s命令结果)

    #cf个服务

    名称服务计划绑定的应用程序的最后操作

    cf service
  3. 成功推送了我的应用程序,并可以成功点击my-mysql-db cleardb spark agrisell-rest-app create succeeded

    https://agrisell-rest-app.cfapps.io/hello

  4. 已成功使用REST API在主机应用上启用ssh

  5. 使用cf enable-ssh agrisell-rest-app创建的服务密钥(创建后获取服务密钥的命令如下所示)

    #cf服务键my-mysql-db

    名称 my-mysql-db-service-key

  6. 使用以下命令检索服务密钥和数据库凭据

cf服务键my-mysql-db my-mysql-db-service-key

cf create-service-key my-mysql-db my-mysql-db-service-key
  1. 已成功配置{ "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

  2. 通过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 WorkbenchMySQL上的服务器安装捆绑在一起。 我使用它来连接到本地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并将其绑定到数据库实例

enter image description here

使用admin / cfmysqlweb凭据成功进行基本身份验证后立即显示的登录页面

enter image description here

在上方和提交状态下输入的数据库凭据,将带回我的第一个登录页面(返回第一页)

enter image description here

3 个答案:

答案 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)连接起来

  • 如果要在intelliJ(社区版)中安装DB Navigator插件 还没有安装-> https://plugins.jetbrains.com/plugin/1800-database-navigator
  • 以智能方式连接到AWS RDS->请注意通过 端口63306上的本地主机
    • 转到DB Navigator插件,然后在新连接下单击“定制”。
    • 输入URL为:jdbc:mysql://:@@ localhost:63306 / <数据库名称>

步骤也可以从GitHub

获得。