[英]How do I connect to my MySQL service on Pivotal Cloud Foundry (PCF) via MySQL Workbench or CLI or MySQLWeb Database Management App?
我有一個基於Spring Boot
的REST
應用程序,它部署在Pivotal Cloud Foundry (PCF)
並且運行良好。 但是這個 REST 應用程序直到現在還沒有任何數據庫連接。 因此,我決定從市場上在PCF
上安裝MySQL
服務,並最終將其成功綁定到我的應用程序。
但是,問題是我無法通過CLI
或任何其他GUI
連接到這個新創建的MySQL
實例。
到目前為止,我已經按照以下鏈接進行操作,但沒有運氣。
我為實現這一目標而執行的步驟是:
MySQL
創建服務實例將MySQL
的服務實例綁定到應用程序成功(見上面的cf service
s命令結果)
# cf 服務
名稱服務計划綁定應用程序上次操作
my-mysql-db cleardb spark agrisell-rest-app create succeeded
成功推送我的應用程序並且可以成功命中REST API
啟用ssh
上使用主機應用程序cf enable-ssh agrisell-rest-app
成功
使用cf create-service-key my-mysql-db my-mysql-db-service-key
創建服務密鑰(創建后獲取服務密鑰的命令如下所示)
# cf service-keys my-mysql-db
命名 my-mysql-db-service-key
使用以下命令檢索服務密鑰和數據庫憑據
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"
}
SSH
隧道配置成功
cf ssh -L 63306:us-cdbr-iron-east-01.cleardb.net:3306 agrisell-rest-app
通過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.
第二種方法:
我嘗試的第二種方法是通過MySQL Workbench
連接到PCF MySQL DB
,該MySQL Workbench
與Windows
上的MySQL
服務器安裝捆綁在一起。 我用它連接到我的本地MySQL DB
。 我修改了設置以將其指向主機、數據庫並更改憑據並嘗試連接,但也無法正常工作。
第三種方法
我嘗試的第三種方法是從PCF
文檔之一安裝Pivotal MySQL Web Database Management
工具
https://docs.pivotal.io/p-mysql/2-2/use.html#mysqlweb
我將它安裝在我的Windows 10
機器上(沒有將它部署到PCF
)並嘗試登錄,但也失敗了。
第二種方法嘗試過但失敗了
根據您的回復 Arun,我遵循了此處自述文件中提到的所有說明 ( https://github.com/pivotal-cf/PivotalMySQLWeb ),但它不允許我使用 DB URL 和憑據登錄到應用程序。 使用憑據admin/cfmysqlweb
的第一次登錄有效,但需要 DB 憑據和密碼的登錄頁面將我發送回第一個登錄屏幕,並顯示“Bad Credentials”消息。 截圖如下。
在 PCF 上部署 PivotalMysqlWeb 並將其綁定到數據庫實例
使用 admin/cfmysqlweb 憑據成功進行基本身份驗證后現在顯示的登錄頁面
上面輸入的數據庫憑據並在提交時我被帶回到第一個登錄頁面(回到第一個)
您無法使用 PC/筆記本電腦中的工具連接任何Marketplace service
(就像您使用 MySQL 應用程序所做的那樣)
原因是 PCF 中的任何 Marketplace 服務都可以在任何地方運行,您只需提供它的一個instance
。
出於安全目的,您的 Marketplace 服務(您訂購的……您支付的)僅暴露給該特定的PCF Foundation
……
如果您仍然想連接到 MySQL 並查看您的數據庫,我建議您使用PivotalMySQLWeb 工具。 您必須在同一個PCF-space
上傳此應用程序並將其綁定到您將在該space
創建的MySQL DB Instance
。 您可以在他們的README file
查看很多說明
我安裝了 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
有趣的是,默認模式需要匹配“name”屬性。 我輸入了自定義名稱,但無法連接。 不太確定為什么,但你能做什么。
如果有人想從 IntelliJ 連接aws-rds-mysql (從 Pivotal Cloud Foundry 實例化),請執行以下步驟:
創建 ssh 隧道后,您可以從本地主機的 63306 端口訪問 AWS-RDS 數據庫,按照說明使用 DB Navigator 插件(intelliJ)連接數據庫
步驟也可在GitHub 上找到
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.