- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 GCE 实例中,我正在从命令行执行以下命令
mysql -udbase -p -DmyDb -hmyIp
一旦它开始运行,我就会通过检查进程列表来监视另一个 shell 中的 SQL 命令。我看到了 SQL、processId 以及执行所花费的时间。
在最后一次测试之后,processId 在 1172 秒后从“查询”更改为“ sleep ”。
但是,mysql命令没有收到响应,它只是停留在那里,好像仍在等待来自CloudSql的响应。
一两分钟后,processID从进程列表中消失,而mysql命令仍然在那里,好像在等待。
经过很长一段时间(30到60分钟),我终于得到:
第 1 行出现错误 2013 (HY000):查询期间失去与 MySQL 服务器的连接
这就像GCE和CloudSQL之间的连接被切断,只是客户端没有意识到。
根据另一篇文章中的建议,我夸大了其中的数字
sudo/sbin/sysctl -w net.ipv4.tcp_keepalive_time=1800 net.ipv4.tcp_keepalive_intvl=1800 net.ipv4.tcp_keepalive_probes=50
但这似乎唯一能做的就是延长查询完成和客户端最终断开连接之间的时间。
如果应用了net_read_timeout,客户端不应该更早地给出错误吗?
感谢您的帮助。
最佳答案
TCP Keepalive 的时间需要小于 10 分钟,才能使 GCE 防火墙不会忘记连接。让它变大就会违背这个目的。我建议尝试 Connecting to Google Cloud SQL from Google Compute Engine 中的说明:
# Display the current tcp_keepalive_time value.
$ cat /proc/sys/net/ipv4/tcp_keepalive_time
# Set tcp_keepalive_time to 60 seconds and make it permanent across reboots.
$ echo 'net.ipv4.tcp_keepalive_time = 60' | sudo tee -a /etc/sysctl.conf
# Apply the change.
$ sudo /sbin/sysctl --load=/etc/sysctl.conf
# Display the tcp_keepalive_time value to verify the change was applied.
$ cat /proc/sys/net/ipv4/tcp_keepalive_time
关于mysql - 来自 GCE 实例的 CloudSQL ERROR 2013,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31666359/
好吧,我正在尝试创建一个 Java 服务器,使用 cloudSQL 代理发布到 cloudSQL 实例,但我陷入了困境。 我在本地计算机上成功启动了代理和服务器: ./cloud_sql_proxy
Love the Stack,我的第一篇文章完全出于挫败感。感谢您的评论! 创建了 App Engine 项目 在我的 App Engine 项目中创建了第二代 MySQL 实例 在 MySQL 实例
我正在尝试使用docker cloud-sql容器连接到我的GCP Sql实例。我也有一个依赖cloudsql的服务来连接到GKE中的数据库。这两个共同构成了一个 pods 。 连接似乎总是失败大约3
我想在cloudSQL中创建一个实例。我是一个使用 PHP 的谷歌应用程序引擎。我想了解空闲连接的情况,以及将收取多少费用。它表示空闲连接将保持事件状态大约 12 小时。我不希望这种事发生。现在,我的
我收到一个看起来像这样的错误(在我的函数日志中) 拒绝用户\'varun_admin\'@\'cloudsqlproxy~84.117.112.32\'(使用密码:YES)'的访问, sqlM
我在关注 this将 Django 应用程序部署到 Kubernetes 集群的教程。我已经创建了 cloudsql 凭据并按照教程将它们导出 export DATABASE_USER= export
我在 Google 云控制台中有两个虚拟机实例连接到同一个云 SQL 数据库,没有任何问题。我创建了一个新实例,但无法将其连接到云 SQL。新实例创建如下: 克隆与数据库配合使用的现有实例。 将新的临
我正在尝试提高从 ETL 软件包插入 CloudSQL(Google 上的 MySQL)的吞吐量。可以使用 ODBC 或 JDBC 驱动程序建立连接。 本地数据库的正常吞吐量为 5-10k 插入行/秒
在检查 GCP CloudSQL 文档时,我发现 MySQL 第二代实例允许的最大连接数为 4000。有没有办法可以设置数据库上允许的最大连接数限制。 在可用标志中,max_concurrent_co
我有一个大小为 50GB 的数据库,其中列数为 12。我在少数列上有索引。我无法从简单的查询中获得结果。 SELECT id, subscriber, name, time_ac, type,mess
尝试将我早期项目的数据库迁移到云端。尽管构建所有内容的代码很糟糕,但数据库结构和数据本身相当可靠。我可能想出一种迁移所有内容的转储方法(pgdump 等),但我对这些东西还有很多东西要学习,所以我宁愿
此问题与 Google CloudSQL 第二代实例相关。 当您在 Google 的 CloudSQL 平台上执行时间点恢复时,您必须实际克隆实例,然后指定二进制日志文件名和要前滚的位置。 我不确定这
对于 Google CloudSQL 第二代实例,启用了故障转移复制。此后,当尝试导入数据库时,不允许创建该过程。收到以下错误。 Error Code: 1419. You do not have
设置 max_binlog_size 的值似乎不是 CloudSQL 第二代 MySQL 实例中受支持的标志。 在配置新实例时,我可以通过运行 show variables; 看到最大 binlog
我们遇到了 cloudSQL 数据库定期崩溃的问题。 我们在日志中看到的错误是: [ERROR] InnoDB: Write to file ./ib_logfile1failed at offset
我这辈子都找不到有关如何使用 Google App Engine 和 CloudSQL 处理迁移的文档。我正在使用 Go 运行时。 很明显,应用程序的架构会随着时间的推移而改变和发展,并且需要运行迁移
我正在尝试在 Big Query 的另一个 GCP 项目中创建与 Cloud SQL 数据库的连接。它不会允许我。我收到消息: CloudSQL 实例必须与查询连接位于同一项目中。 我该如何解决这个问
我有一个使用 CloudSQL 进行了一年多的暂存集群,现在我想启动另一个 GKE 集群(同一个谷歌项目),指向同一个数据库进行测试。但是,在尝试在新集群中使用旧集群中的 credentials.js
我正在尝试在 Google 应用引擎上设置一个 django 项目,但我似乎无法从我的计算机连接到数据库来执行诸如syncdb 等操作。 这是我的配置(已更改) DATABASES = { '
我的复制陷入了一些 Last_SQL_Error 和 Slave_SQL_Running: No 现在我想执行: STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNT
我是一名优秀的程序员,十分优秀!