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

2024-05-28

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

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

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

  • https://docs.pivotal.io/pivotalcf/2-4/devguide/deploy-apps/ssh-services.html https://docs.pivotal.io/pivotalcf/2-4/devguide/deploy-apps/ssh-services.html
  • 如何为PCF mySQL数据库设置mysql开发人员来管理它 https://stackoverflow.com/questions/49313213/how-to-setup-mysql-develper-for-pcf-mysql-database-to-manage-it

为了实现这一目标,我执行的步骤是:

  1. 为以下对象创建了服务实例MySQL成功地
  2. 绑定服务实例MySQL申请成功(见cf services 命令结果如上)

    # 比照服务

    名称服务计划绑定应用程序上次操作

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

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

  4. Enabled 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 服务密钥 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:[email protected] /cdn-cgi/l/email-protection: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捆绑有MySQL服务器安装于Windows。 我用它来连接到我的本地MySQL DB。我修改了设置,将其指向主机、数据库并更改了凭据,并尝试连接,但也不起作用。

第三种方法

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

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

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

尝试过第二种方法但失败了

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

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

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

在上面输入的数据库凭据并提交后,我将返回到第一个登录页面(返回到第一个)


您无法连接到任何Marketplace service使用您的 PC/笔记本电脑中的工具(就像您使用 MySQL 应用程序所做的那样)

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

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

如果您仍然想连接到 MySQL 并查看您的数据库,我建议您使用Pivotal MySQL Web 工具 https://github.com/pivotal-cf/PivotalMySQLWeb。您必须在同一时间上传此应用程序PCF-space并将其绑定到你的MySQL DB Instance你会在那里创造的space。您可以在他们的中查看很多说明README file

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 显示 � 而不是 £

    从 mysql 数据库提取数据时 显示符号 而不是 有问题的字段已整理为 utf8 general ci 我也有在页面的 head 标签上 有什么想法吗 Use mysql query SET NAMES UTF8 在对数据库执行任何查询之
  • MySQL 从多个表中删除行

    这是正确的方法吗 DELETE t1 t2 t3 t4 FROM table1 as t1 INNER JOIN table2 as t2 on t1 id t2 id INNER JOIN table3 as t3 on t1 id t3
  • 使用 SQLAlchemy 进行多重联接

    我有这个数据库模型 class Distributor Base tablename distributor id Column Integer primary key True commercial address id Column I
  • PDO 不会在错误的 SQL 查询上抛出异常

    我对 MySQLi 非常熟悉并且正在尝试 PDO 我听说它更好 我正在浏览目前的教程here http code tutsplus com tutorials why you should be using phps pdo for dat
  • MySQL:长表与宽表

    哪种数据库表设计更高效 就查询性能而言 长表还是宽表 即 这个 id size price 1 S 12 4 1 M 23 1 1 L 33 3 2 S 3 3 2 M 5 3 2 L 11 0 与此相对 id S M L 1 12 4 2
  • MySqlDataReader GetBytes 缓冲区问题...

    我发现 MySqlDataReader GetBytes 实现有一个奇怪的怪癖 只是想知道这是否众所周知 因为我似乎在网上找不到任何有关它的文章 如果您按照以下代码示例进行操作数据库读取器 http msdn microsoft com e
  • SQL - 选择具有最大值的所有行

    我有这个 SQL 查询 SELECT id COUNT AS price FROM SELECT FROM rt WHERE somecondition AS st JOIN tt ON st id tt id GROUP BY id 现在
  • 两个日期之间有多少周

    我的数据库 MySQL 中有开始日期和结束日期 我怎样才能得到答案 这两个日期有多少周 或天 mysql 或 php 例如我有这样的数据库 开始并 会停2009 12 17 2009 12 242009 12 12 2009 12 26 更
  • Zend Mysql 获取 ENUM 值

    I use Zend Framework在我的应用程序中 我想知道如何从 ENUM 字段中获取值MySQL table 例如 我有permissions field ENUM 删除管理员 edit admin 如何以最佳方式获取数组 删除管
  • 不同的数据库使用不同的名称引用吗?

    例如 mysql引用表名使用 SELECT FROM table name 注意 其他数据库是否使用不同的字符来引用其表名 这种引号的使用称为分隔标识符 它是 SQL 的重要组成部分 因为否则您将无法使用以下标识符 例如表名和列名 包含空格
  • 如何避免此 PDO 异常:当其他未缓冲的查询处于活动状态时无法执行查询

    我想在我的页面中打印一个包含 3 列的简单表格 building name tags and architecture style 如果我尝试检索列表building names and arch styles没有问题 SELECT bui
  • NodeJS MySQL - 如何知道连接是否释放

    我正在开发 NodeJS MySQL Web API 我在用mysql https www npmjs com package mysqlnpm 模块 我想知道连接是否已释放 是否有任何函数或变量 喜欢 if connection isRe
  • 如何限制 SQLite / MySQL 中的列值

    我想限制表中的列值 例如 列值只能是car or bike or van 我的问题是如何在 SQL 中实现这一点 在数据库端执行此操作是一个好主意还是应该让应用程序限制输入 我还打算在将来添加或删除更多值 例如 truck 我使用的数据库类
  • 如何在MySQL查询结果中显示序号

    我有一些简单的查询 SELECT foo bar FROM table 我想你现在的结果是什么样的 我想要做的是根据查询结果中出现的数据数量来显示一些序列号 就像AUTO INCREMENT 这并不意味着我想出示身份证 我想要的结果是这样的
  • MySql 5.0 可以查看位于另一台服务器上的表吗

    MySql 5 0 视图可以使用位于另一台服务器上的表吗 创建这样的视图的语法是什么 联合表 http dev mysql com doc refman 5 0 en federated storage engine html http d
  • 使用存储过程并发访问MySQL数据库

    我有一个存储过程 它将读取然后增加数据库中的值 许多程序同时使用这个特定的过程 我担心并发问题 特别是读写器问题 有人可以建议我任何可能的解决方案吗 thanks 首先 正如另一篇文章中所述 使用 InnoDB 从 MySQL 5 5 开始
  • 排除任何字段中具有 NULL 值的行结果?

    我有一个像这样的简单选择 SELECT FROM table WHERE fk id 10020 它可以工作 但有一些字段为 NULL 没有模式所以做了 SELECT FROM table WHERE fk id 10020 AND NOT
  • MySql 完全联接(联合)和多个日期列的排序

    一个相当复杂的 sql 查询 我可能使它变得更加困难 我有两张桌子 消息 newsid 日期时间 新闻文本 图片 图片ID 日期时间 imgPath 两者没有关系 我只是在新闻 图片创建的日期之前加入 到目前为止的 SQL SELECT F
  • 为什么这个 MySQL 更新不起作用?

    有一张桌子叫meterreadings 我需要复制属性meterreading从一排到另一排 这是数据示例 id meterreadingdate meterreading meterreadingtype id created 1 201
  • 将表与同一个表的前一条记录连接起来

    我有一个包含历史记录的表 由主表中的多个触发器发布到那里 我想在历史表上创建一个 select 语句 其中每个记录都由其先前的记录 由相同的 LineID 和最高的 ActionDate 标识 连接 这样我就可以提取这两者之间的差异 我尝试

随机推荐