3

我有一个Spring Boot基于REST应用程序的部署Pivotal Cloud Foundry (PCF)并运行良好。但是这个 REST 应用程序直到现在还没有任何数据库连接。因此,我决定从市场上安装MySQL服务,PCF并最终成功地将其绑定到我的应用程序。

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

到目前为止,我已经关注了以下链接,但没有运气。

我为完成此操作而执行的步骤是:

  1. MySQL成功创建服务实例
  2. 将服务实例绑定MySQL到应用程序成功(见cf service上面的 s 命令结果)

    #cf 服务

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

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

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

  4. ssh在主机应用上启用cf enable-ssh agrisell-rest-app成功使用

  5. 使用创建的服务密钥cf create-service-key my-mysql-db my-mysql-db-service-key(创建后获取服务密钥的命令如下所示)

    # cf 服务键 my-mysql-db

    命名 my-mysql-db-service-key

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

cf 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"
}
  1. 成功配置SSH隧道

    cf ssh -L 63306:us-cdbr-iron-east-01.cleardb.net:3306 agrisell-rest-app

  2. 通过访问服务实例CLI

    vcap@33eb3942-10bd-4068-650f-64fc:~$ mysql -u hello123 -h 0 -p -D ad_b509d7f388732d5 -P 63306 bash: mysql: 找不到命令

基于上述错误,我觉得好像没有正确安装 mysql 插件,但我已经安装了它们。

# 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捆绑在一起的. 我用它连接到我的本地. 我修改了设置以将其指向主机、数据库并更改了凭据并尝试连接,但这也不起作用。MySQLWindowsMySQL DB

第三种方法

我尝试的第三种方法是安装Pivotal MySQL Web Database Management我从其中一个PCF文档中获得的工具

https://docs.pivotal.io/p-mysql/2-2/use.html#mysqlweb

我将它安装在我的Windows 10机器上(没有将它部署到PCF)并尝试登录,但也失败了。

第二种方法尝试并失败

根据您的回复 Arun,我遵循了此处自述文件 ( https://github.com/pivotal-cf/PivotalMySQLWeb ) 中提到的所有说明,但它不允许我使用数据库 URL 和凭据登录应用程序。使用凭据的第一次登录admin/cfmysqlweb有效,但需要数据库凭据和密码的登录页面将我发送回第一个登录屏幕,并显示消息“Bad Credentials”。截图如下。

在 PCF 上部署 PivotalMysqlWeb 并将其绑定到数据库实例

在此处输入图像描述

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

在此处输入图像描述

在上面输入的数据库凭据并在提交时我被带回第一个登录页面(回到第一方)

在此处输入图像描述

4

3 回答 3

2

您无法使用Marketplace servicePC / 笔记本电脑中的工具连接任何工具(例如使用 MySQL 应用程序)

原因是 PCF 中的任何 Marketplace 服务都可以在任何地方运行,而您只需提供其中的一个instance

出于安全目的,您的 Marketplace 服务(您订购的 .. 您支付的)仅暴露给该特定的PCF Foundation..

如果您仍想连接到 MySQL 并查看您的数据库,我建议您使用PivotalMySQLWeb 工具。您必须在同一应用程序中上传此应用程序PCF-space并将其绑定到您MySQL DB Instance将在该应用程序中创建的应用程序space。您可以在他们的README file

于 2019-01-21T13:31:51.647 回答
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

有趣的是,默认模式需要匹配“名称”属性。我输入了一个自定义名称,但无法连接。不知道为什么,但你能做什么。

于 2020-03-03T05:46:16.517 回答
0

如果有人想从 IntelliJ 连接aws-rds-mysql(从 Pivotal Cloud Foundry 实例化),请执行以下步骤:

创建 ssh 隧道后,您可以从 localhost 的 63306 端口访问 AWS-RDS 数据库,按照说明将 DB 与 DB Navigator 插件 (intelliJ) 连接起来

  • 如果尚未安装,请在 intelliJ(社区版)中安装 DB Navigator 插件 -> https://plugins.jetbrains.com/plugin/1800-database-navigator
  • 在 intelliJ 中连接到 AWS RDS -> 请注意连接是通过 localhost 在端口 63306 上建立的
    • 转到 DB Navigator 插件并单击新连接下的自定义。
    • 输入 URL:jdbc:mysql://:@localhost:63306/<database_name>

步骤也可在GitHub 上找到

于 2020-12-08T15:54:22.653 回答