Google Cloud SQL MySQL 5.7 在进行大导入时拒绝连接

Google Cloud SQL MySQL 5.7 denies connection when doing large import

我在 Google Cloud SQL 上将数据库(~3gb sql 文件)从 MySQL 5.6 迁移到 MySQL 5.7 时遇到困难。

首先我制作了 MySQL 5.6 服务器数据库的 dbdump:

mysqldump -hxx.xx.xx.xx -uroot -pxxxx dbname --opt --hex-blob --default-character-set=utf8 --no-autocommit > dbname.sql

然后我尝试使用 cloudsql-import:

导入数据库

.go/bin/cloudsql-import --dump=dbname.sql --dsn='root:password@tcp(xx.xx.xx.xx:3306)/dbname'

导入开始,但过了一会儿(大约 10 分钟)我收到以下错误消息:

2016/06/29 13:55:48 dial tcp xx.xx.xx.xx:3306: getsockopt: connection refused

与 MySQL 服务器的任何进一步连接尝试都被拒绝,并显示以下错误消息:

ERROR 2003 (HY000): Can't connect to MySQL server on 'xx.xx.xx.xx' (111)

只有完全重启(从 google 云平台控制台进行)才能再次连接。

我不久前使用这种方法从 5.5 完全迁移到 5.6。知道为什么这不适用于 5.7 吗?

您会在实例的控制台概览页面查看存储磁盘使用情况吗?如果存储已满,您可以通过更改编辑页面中的存储大小值来增加实例的存储大小。

如果启用二进制日志记录,二进制日志将占用大量space。您可以考虑在 运行 导入时将其关闭。

如果实例还是有问题,可以发邮件到cloud-sql@google.com做进一步调查。谢谢。

我尝试分析导入超时的不同行,但没有发现任何异常。然后我在 Google cloud SQL 和使用 mysqldump 时摆弄可用参数。

我终于尝试使用更好的机器类型(从两个核心 8GB Ram 到八个核心 30GB 内存)并且它 "solved" 问题。