0

我在 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)

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

不久前,我使用这种方法从 5.5 完全迁移到 5.6。任何想法为什么这不适用于 5.7?

4

2 回答 2

0

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

我终于尝试使用更好的机器类型(从两核 8GB 内存到 8 核 30GB 内存),它“解决了”问题。

于 2016-08-15T06:33:41.830 回答
0

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

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

如果实例仍然存在问题,可以发送电子邮件至 cloud-sql@google.com 进行进一步调查。谢谢。

于 2016-06-30T17:31:07.720 回答