标签: google-cloud-sql

是否可以通过主机计算引擎虚拟机的内部或外部 IP 连接到 Cloud SQL 代理?

我正在测试以下配置。

  • 区域 X 区域 A 中的 Cloud SQL (tetsql-1)
  • 同一区域 X 区域 A 中的计算引擎虚拟机 (TestVM-1)。操作系统为 Centos 7
  • Compute Engine 虚拟机正在非默认端口 (9090) 上运行云 SQL 代理

通过上述配置,我可以使用以下命令从 TestVM-1 登录到 testsql-1:

  `mysql -h 127.0.0.1 --port 9090 -u testuser -D testDB -p`
Run Code Online (Sandbox Code Playgroud)

但是我无法在上述命令中使用 TestVM-1 的内部 IP。它给出了一个错误。

另一个观察结果是我能够做到telnet 127.0.0.1 9090,但是当我尝试telnet <VM -Internal-IP> 9090返回连接拒绝错误时。

有谁知道这是否是预期的行为?如果这是预料之中的,为什么会这样呢?

google-cloud-sql google-cloud-platform cloud-sql-proxy

2
推荐指数
1
解决办法
2296
查看次数

为什么对等证书 CN 与 CN='35.246.68.234' 不匹配?

我是 php 新手,我正在尝试使用 ssl 证书连接到 gloudsql。但它给了我一个关于 CN 的错误。这是什么意思以及我的代码中缺少什么?我的项目名称是wiiboardtest,我的实例名称是personal

$key = 'C:/Users/tasne/Downloads/client-key.pem';
        $cert = 'C:/Users/tas/Downloads/client-cert.pem';
        $ca = 'C:/Users/tas/Downloads/server-ca (1).pem';
        $con = mysqli_init();

        if(!$con){
            die("mysqli_init failed");
        }

        $trial = 
mysqli_ssl_set($con,$key,$cert,$ca,NULL,'ECDHE-RSA-AES256-SHA');
        mysqli_options($con, 
 MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, false);



        $dbhost = '35.246.68.234';
        $dbuser = 'root';
        $dbpass = 'waffer';
        $database = 'personal';
        $port = '3306';
$conn=mysqli_real_connect($con,$dbhost,$dbuser,$dbpass,$database,$port,
MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT );

        if(!$conn){
            die("connect error due 
                       to:".mysqli_connect_error());
        };
Run Code Online (Sandbox Code Playgroud)

mysqli_real_connect(): 对等证书 CN= wiiboardtest:personal' did not match expected CN=35.246.68.234'

php ssl google-cloud-sql google-cloud-platform

2
推荐指数
1
解决办法
1353
查看次数

有没有办法使用谷歌云sql中的pg_cron?

目前我需要将数据库从 postgreSql 移动到 google cloud sql。我使用 pg_cron 来删除过时的记录,如下所示:

SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$);
Run Code Online (Sandbox Code Playgroud)

我读过以下文章: https: //cloud.google.com/sql/docs/postgres/extensions

并且没有找到任何与pg_cron相关的内容

我还读过Does Cloud SQL Postgres has any cron-like tool? 但这看起来对我的任务来说是过度设计的。

有没有更简单的方法?

java postgresql google-cloud-sql spring-cloud-gcp

2
推荐指数
1
解决办法
1829
查看次数

如何避免从 Cloud Function 到 Cloud SQL 的网络出站费用?

我观察到 Google Cloud Functions 的网络出站费用令人惊讶,我正在尝试了解发生这种情况的原因以及如何避免这种情况。

Stackdriver 监控表明有问题的函数是我的ingest函数,该函数从 GCS 存储桶读取文件,处理它们并将行插入 Cloud SQL 实例。请参阅此处云函数的网络出站与 SQL 实例接收的字节之间的相关性。

云函数和云 sql 的字节输入/输出

该函数和云 SQL 实例都位于us-central1(尽管该区域内的不同区域)。该函数通过提供的 unix 套接字连接到 SQL 实例。SQL 实例确实有一个公共 IP 地址。

根据迄今为止的收费,我似乎为每 GiB 支付 0.1 美元,这看起来像是一般的互联网出口价格。

我现在唯一的理论是,由于公共 IP,我需要为 SQL 实例的流量支付公共互联网出口价格。这合理吗?收费还有其他原因吗?如果这是真的,我想如果我禁用 SQL 实例的公共 IP,费用就会消失?

google-cloud-sql google-cloud-platform google-cloud-functions

2
推荐指数
1
解决办法
739
查看次数

有机会恢复已删除的 gcloud sql 实例吗?

我显然是个白痴,我没有充分保存数据,但是是否有机会恢复已删除的已删除的 gcloud sql 实例,而不仅仅是备份中的数据库,因为整个实例已被删除?

google-cloud-sql google-cloud-platform gcloud

2
推荐指数
1
解决办法
1846
查看次数

如何通过 CLI 获取 Google Cloud SQL 实例的 IP

我在 Google Cloud Platform 上使用 Cloud SQL。

将数据库的IP作为变量很有用,因此可以在脚本中使用它。

可以使用什么命令来实现这一点?

重击示例:

export DP_IP=$(gcloud ................)
Run Code Online (Sandbox Code Playgroud)

cloud ip command-line-interface google-cloud-sql google-cloud-platform

2
推荐指数
1
解决办法
1702
查看次数

mysqlbinlog 在 Google Cloud SQL MySql 中不起作用

我在 Google Cloud SQL 上有 MySql 实例。我已经启用了二进制日志。我可以检查日志文件,如下所示。

mysql> SHOW BINARY LOGS;
+------------------+-----------+-----------+
| Log_name         | File_size | Encrypted |
+------------------+-----------+-----------+
| mysql-bin.000001 |   1375216 | No        |
| mysql-bin.000002 |   7336055 | No        |
+------------------+-----------+-----------+
Run Code Online (Sandbox Code Playgroud)

我还可以在日志文件中检查事件。

mysql> SHOW BINLOG EVENTS IN 'mysql-bin.000001' limit 5;
+------------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+
| Log_name         | Pos | Event_type     | Server_id | End_log_pos | Info                                                              |
+------------------+-----+----------------+-----------+-------------+-------------------------------------------------------------------+
| mysql-bin.000001 |   4 | Format_desc    | 883641454 |         124 | Server ver: 8.0.18-google, Binlog ver: 4                          |
| mysql-bin.000001 | …
Run Code Online (Sandbox Code Playgroud)

mysql google-cloud-sql

2
推荐指数
1
解决办法
2187
查看次数

CloudSQL 副本负载均衡

创建只读副本时,将向主服务器和只读副本分配 2 个 IP。

那么,当应用程序使用主 IP 连接到 CloudSQL 时,它是仅使用主实例还是同时连接到两个实例?

CloudSQL 是否对副本之间的流量进行负载平衡,或者应用程序是否必须手动连接到副本?

有没有办法在不手动连接到每个实例的情况下实现此目的?

sql database postgresql google-cloud-sql google-cloud-platform

2
推荐指数
1
解决办法
2009
查看次数

如何使用 gcloud sql 操作等待?

我正在查看该命令的文档。

它说它需要操作标识符......

唯一标识操作的标识符

但它没有给出如何获取标识符的示例。我应该为这个价值提供什么?使用 gcloud 创建 sql 实例时出现错误,因为我没有等待,并且我不知道如何从文档描述中使用此命令。

google-cloud-sql google-cloud-platform gcloud

2
推荐指数
1
解决办法
1378
查看次数

Cloud Run:连接到另一个 GCP 项目上的 CloudSQL 数据库

我在将 [项目 A] Cloud Run 实例连接到 [项目 B] Cloud SQL 实例时遇到问题。

我已经按照本文所述设置了服务帐户权限:https://cloud.google.com/sql/docs/mysql/connect-run

哪些是这样的:

  • 我在 [项目 B] 上创建了一个具有 Cloud SQL 管理员和 Cloud SQL 客户端权限的服务帐号。
  • 我在 [项目 A] 上为 Cloud Run 实例创建了一个服务帐户,此帐户在 [项目 B] 的服务帐户上具有用户角色

这两个项目都启用了 Cloud SQL Admin API,如果我在 [项目 B] 上构建相同的 Cloud Run 实例,它的连接不会出现任何问题,所以我想这是一个权限问题。

我从 [Project A] Cloud Run 的日志中收到的错误是:googleapi: Error 403: The client is notauthorized to make this request., notAuthorized

permissions google-cloud-sql google-cloud-platform google-cloud-run

2
推荐指数
1
解决办法
1436
查看次数