大约两周我们遇到了Cloud SQL问题。在向数据库发出包含2 000 000条记录的INSERT语句后,SQL实例“崩溃”。开发人员控制台显示我们的SQL实例是Runnable但是数据库无法访问并且在尝试连接时抛出“[Err] 2013 - 在等待初始通信数据包时丢失与MySQL服务器的连接”,系统错误:0“。此外,每次崩溃时,已更改的过程都将恢复为先前的状态(可能是最新备份),但实际数据不会受到影响。我们使用InnoDB作为引擎。
当SQL实例无响应时,我们也无法通过Web控制台(在数据库下)看到数据库列表,这表明问题既不是我们的网络也不是我们的凭据。
我们在存储过程中运行INSERT INTO .. SELECT语句时发现了这个问题。它插入一个空表,其中有主索引和二级索引。我们已经尝试删除二级索引,但问题仍然存在。
我们注意到读取操作和读/写InnoDB页面的大量增加。
这些指标在云监控和概述(开发人员 - >开发人员控制台中的SQL)中有所不同,这也有点奇怪。但是,两张图都显示出增长。
我们已尝试启用记录到TABLE但在“崩溃”之后我们收到此错误消息: “错误代码:145。表'。/ mysql / general_log'被标记为崩溃,应该修复”
我们已经使用Cloud SQL一年了,之前从未发生过这种情况。 当前的SQL实例规范:4GB RAM,超过使用250GB的60%。
最近有没有人遇到过类似的问题?我们两周前才开始使用它们。
我们应该考虑哪些变量/参数来优化查询?
崩溃后的恢复是否可能使用最新的备份来恢复过程但是保持数据不变?