我在将数据库(~3gb sql文件)从MySQL 5.6迁移到Google Cloud SQL上的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?
答案 0 :(得分:0)
您会检查实例的Console Overview页面上的存储磁盘使用情况吗?如果存储空间已满,则可以通过更改“编辑”页面中的存储大小值来增加实例的存储大小。
如果启用了二进制日志记录,二进制日志将占用大量空间。您可以考虑在运行导入时将其关闭。
如果您仍然无法使用该实例,可以发送电子邮件至cloud-sql@google.com进行进一步调查。感谢。
答案 1 :(得分:0)
我尝试分析导入超时的不同行,但没有发现任何异常情况。然后,我使用了Google云端SQL中的可用参数,并使用了mysqldump。
我终于尝试使用更好的机器类型(从两个核心8GB Ram到8核30GB ram)并且“解决”了这个问题。