如何在Google Cloud SQL上找出导入失败的原因

时间:2014-07-17 11:35:38

标签: google-cloud-sql

我在笔记本电脑上生成一个.sql文件,其中包含大约1,100万个插入语句到几个表中。

在本地我运行一个MySQL数据库,我导入了这个文件。这需要一段时间,但它成功没有任何问题。本地MySQL版本是:

mysql Ver 14.14 Distrib 5.6.16, for osx10.7 (x86_64) using EditLine wrapper

我想将此文件导入Google Cloud SQL实例。为此,我首先gzip .sql文件并将其上传到Google云端存储中的存储桶。

然后我创建一个D0按使用付费的实例(功能最弱/最便宜)。我点击“导入”#39;并在云存储上输入文件的名称。

导入开始,但过了一会儿(大约一天)导入失败,说明:An unknown error occurred

我使用MySQL 5.5和实验5.6实例尝试了这一点,两者都在不同的插入时失败。 (我可以看到最新成功的插页是什么)。

我的问题是,我无法找出MySQL认为的问题。

如何让Google开发者控制台向我显示日志?我尝试了Google API页面,其中包含一个' Logs'标签,但它给了我An error has occurred. Please retry later.

也许Google Cloud SQL对我的本地MySQL没有的插入语句有一些限制?

其中一个字段是MEDIUMTEXT,我相信它可能大于65.536字节。

感谢任何建议。

----------更新-----------

我与cloud-sql团队邮寄,他们确认问题是导入超时了。 实际上,24小时是导入对Cloud SQL的最长时间。

解决方案是:使用更强大的实例进行导入(并使用异步复制),或者将.sql拆分为多个部分。

另一种方法是每个insert语句使用几个值,只需确保该行不超过4MB。这就是max_allowed_pa​​cket在cloud sql上的价值。它大大加快了插入速度。

事实上,这使得D0实例可以在几个小时内导入文件,因此我不需要将其推向更强大的文件。

0 个答案:

没有答案