【问题标题】:GCP MySQL raw connection stringGCP MySQL 原始连接字符串
【发布时间】:2021-08-09 09:28:18
【问题描述】:

关于如何连接到 GCP 上的 mysql 8.0 数据库,我需要您的帮助。 我在 Heroku 上托管了我的 ASP.NET 核心 Web API,我想从 Heroku 连接到我在 GCP 上的数据库,但我发现这很困难。以下是我尝试过的不同连接字符串;

"Server=<INSTANCE-IP>;Uid=<DB_USER>;Pwd=<DB_PASS>;Database=<DB_NAME>;AllowUserVariables=True;"

"server=<INSTANCE-IP>;database=<DB_NAME>;uid=<DB_USER>;pwd=<DB_PASS>;port=3306;AllowUserVariables=True;"

"Server=/cloudsql/<Connection name>;Uid=<DB_USER>;Pwd=<DB_PASS>;Database=<DB_NAME>;Protocol=unix;AllowUserVariables=True;"

另外,我有不同的 Web API 和 mysql 数据库托管,因为我需要更多地了解它是如何工作的。我对此完全陌生。请任何人都可以帮助弄清楚我在这里做错了什么?

【问题讨论】:

  • 您能否尝试包含 "SOCKET_PATH": "/cloudsql/{connection_name}" 以查看这是否适用于您尝试创建连接的 web api?
  • 我也试过了,还是不行

标签: mysql asp.net google-cloud-platform mysql-connector


【解决方案1】:

您与 Google Cloud SQL 的连接字符串应具有以下格式,这与您尝试过的类似但不完全是:

Server=xxx.xxx.xxx.xxx;Database=DB_NAME;Uid=USER_NAME;Password=PASSWORD

使用这个结构,你应该能够连接到它,如果不是问题就在其他地方。

【讨论】:

  • 感谢您的精彩回复@Rafael Lemos。让我现在检查一下
  • 但是我想问一下,这个是pwd=;和Password=PASSWORD 一样吗?他们这里有区分大小写的东西吗?
  • 我认为它们不区分大小写,但使用密码而不是 pwd。
  • 我尝试了连接字符串并在连接即将打开时不断抛出异常。 MySql.Data.MySqlClient.MySqlException:'无法连接到任何指定的 MySQL 主机。' MySqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。
  • 尝试将端口添加到服务器的IP或将Port=3306;添加到字符串。
猜你喜欢
  • 2014-03-31
  • 1970-01-01
  • 2013-12-14
  • 2011-08-31
  • 2014-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-10
相关资源
最近更新 更多