标签: google-cloud-sql

MySqlConnectionStringBuilder - 使用证书连接

我正在尝试连接到 Google Cloud Sql,这是一个 MySql 解决方案。我能够使用 MySql Workbench 进行连接。

我如何使用 C# 进行连接MySqlConnectionStringBuilder

我找不到提供这三个证书的方法。

c# mysql google-app-engine google-cloud-sql

0
推荐指数
1
解决办法
3214
查看次数

如何从 Google App Maker 作为外部 mysql 数据库连接到 Google Cloud SQL 数据库?

我正在尝试从我的 Google App Maker 应用连接到 Google Cloud SQL 数据库。不幸的是,我的 IT 人员尚未将 Google App Maker 设置为默认使用 Google Cloud SQL,因此我尝试以与过去连接外部 MySQL 数据库相同的方式连接到数据库,但它不适用于公共 IP 地址。

我已经创建了一个 Google Cloud SQL 数据库,并且可以使用公共 IP 地址从 MySQLWorkbench 连接到它。为了连接数据库,我必须为我的家用计算机添加 IP 地址。我不需要使用 SSL。

我为我的 Google App Maker 应用创建了一个 Google 服务帐户。然后,我将此服务帐户包含在包含 Cloud SQL 数据库的 Google 项目中。我为它分配了 Cloud SQL Admin 和 Cloud SQL Client 的权限。

我在 App Maker 中使用此代码尝试连接。这与我在其他外部 MySQL 数据库中使用的代码相同。IP 地址 34.xx.xx.xx 是 Google Cloud SQL 实例概览页面中列出的公共 IP 地址。

// App Settings

// Important Note: This is for demo purposes …
Run Code Online (Sandbox Code Playgroud)

google-cloud-sql google-app-maker

0
推荐指数
1
解决办法
325
查看次数

当我指定 TCP 时,为什么 Cloud SQL 代理会出现“不支持的网络 unix”信息?

我在尝试连接到 Cloud SQL 实例时遇到问题。我创建了一个 SQL Server 实例,下载了云 sql 代理,一切似乎都开始连接,但我不断收到以下错误:

解析配置错误:

无效的“实例连接名称”:不支持的网络:unix

我指定了要使用的 tcp 端口,但它仍然抱怨 UNIX。这是我在尝试连接时使用的命令(为了隐私/安全,我替换了实际的实例连接名称):

./cloud_sql_proxy.exe -instances=[instance-connection-name]=tcp:3306
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。谢谢!

google-cloud-sql

0
推荐指数
1
解决办法
3453
查看次数

pq:日期/时间字段值超出范围:“22/02/2022”

我有这样的疑问:

    l.loyaltycard_number, l.recipt_no, 
    l.totaltrans_amount, l.amount_paid, 
    l.reward_points, l.redeemed_points,
    cashier FROM loyalty l
    JOIN warehouses w
    ON l.machine_ip = w.machine_ip
    WHERE l.machine_name = $1 
    AND redeemed_points != $2
    AND trasaction_time BETWEEN $3 AND  $4
    ORDER BY trasaction_time DESC;
Run Code Online (Sandbox Code Playgroud)

我有用于 transaction_time 的 HTML 日期选择器,格式为 dd/mm/yyyy。

每当我选择第一个数字大于 12 (22/02/2022) 的日期范围时。我收到上述错误。我怀疑是格式问题。

我在文档中找到了如何将 postgresql 日期样式设置为 DMY。这样做之后,我得到了同样的错误。

但是,当我在 Postgres cli 中运行相同的查询时,如下所示:

SELECT w.machine_name, l.trasaction_time,
        l.loyaltycard_number, l.recipt_no, 
        l.totaltrans_amount, l.amount_paid, 
        l.reward_points, l.redeemed_points,
        cashier FROM loyalty l
        JOIN warehouses w
        ON l.machine_ip = w.machine_ip
        WHERE l.machine_name = 'HERMSERVER'
        AND redeemed_points …
Run Code Online (Sandbox Code Playgroud)

postgresql go google-cloud-sql

0
推荐指数
1
解决办法
5526
查看次数

连接 pg.Pool 和基于 GCP IAM 的数据库身份验证

目前,我们的 api(部署在 cloudRun 上)通过传入带有数据库配置以及数据库用户和密码的 pgConfig 来连接到我们的 Postgres 数据库。

例如:

const configObject = {
  host: cloudRunHost,
  user: dbUser,
  password: dbPassword,
  database: dbName
}

async function connect() {
  if(!client) {
    const pgPool = new pg.Pool(configObject);
    await pgPool.connect()
      .then((result) => {
        logger.info('Connected to DB')
        client = result;
      }).catch((err) => {
        logger.error(err);
      });
  }
} 
Run Code Online (Sandbox Code Playgroud)

我们希望应用本身使用Cloud SQL IAM 数据库身份验证连接到数据库

迄今为止:

  1. api cloudRun实例有一个服务帐户
  2. 数据库和 CloudSQL 已配置为基于 IAM 的访问(我们可以使用我们的机器服务帐户进行访问)
  3. api 服务帐户可以通过 IAM 访问数据库,并授予该用户对 Postgres 数据库本身的权限
  4. 当上面的代码运行时,它会记录error: empty password returned by client

我们尝试从 configObject 中完全删除密码行,但没有帮助。关于为什么我的服务帐户可以直接访问数据库但 …

postgresql google-cloud-sql google-cloud-platform google-iam node-pg-pool

0
推荐指数
1
解决办法
951
查看次数

我可以使用 Python 从我的计算机(本地)使用私有 IP 连接到云 sql postgres 吗?

我正在尝试使用本地计算机(本地)中的 Python 代码并使用我的云 sql 实例的私有 IP 连接到云 sql postgreSQL 实例。

from google.cloud.sql.connector import Connector, IPTypes
import pg8000

import sqlalchemy
from sqlalchemy import text

def connect_with_connector_auto_iam_authn():

instance_connection_name = "connection name"
db_user = "SA name" # e.g. 'my-db-user'
db_name = "postgres"  # e.g. 'my-database'

ip_type = IPTypes.PRIVATE

# initialize Cloud SQL Python Connector object
connector = Connector()

def getconn() -> pg8000.dbapi.Connection:
    conn: pg8000.dbapi.Connection = connector.connect(
        instance_connection_name,
        "pg8000",
        user=db_user,
        password="",
        db=db_name,
        enable_iam_auth=True,
        ip_type=ip_type
    )
    return conn
# The Cloud SQL Python Connector can …
Run Code Online (Sandbox Code Playgroud)

python postgresql connector google-cloud-sql pg8000

0
推荐指数
1
解决办法
189
查看次数