【问题标题】:Google Cloud SQL: Alter table: ERROR 1034 (HY000): Incorrect key file for table xxxGoogle Cloud SQL:更改表:错误 1034 (HY000):表 xxx 的密钥文件不正确
【发布时间】:2019-02-12 23:30:44
【问题描述】:

我正在尝试更改 Google Cloud SQL 数据库中的一个表,该数据库有几百万条记录,并且上面有几个索引。

一段时间后(在此期间db实例上使用的空间增加了几GB),“alter table”命令失败并出现错误:“ERROR 1034 (HY000): Incorrect key file for table xxx”。

1)我搜索了它,它似乎经常在 tmpdir 空间不足时发生。建议似乎是将 MySql 数据库的 tmpdir 的位置更改为文件系统上可用更多存储空间的某个位置。据我所知,我在 Google Cloud SQL 设置上并没有这个选项。

2) 我在提到的表上运行了“check table xxx”命令,它显示 status=OK。因此,在任何地方都没有涉及到表的真正损坏。这张沉重的桌子上的“alter table”中的幕后空间似乎不足。

有什么建议吗?我可以以某种方式为我的项目增加 Google Cloud Sql 设置上的 tmpdir 空间吗?我可以更改它的位置并以某种方式给它更多空间吗?

【问题讨论】:

    标签: google-cloud-platform google-cloud-sql


    【解决方案1】:

    这听起来像是 Cloud SQL 第一代实例特有的问题。很遗憾,在这种情况下,无法更改 tmpdir 存储空间 (10 Gb) 的位置或分配量。

    唯一合理的选择是迁移到 Cloud SQL 第二代实例: https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen

    【讨论】:

    • 不,它已经是 Cloud SQL 第二代设置。您的意思是,如果它是第二代,则可以更改 tmpdir 存储的位置或分配数量?怎么样?
    • v1 由于服务架构的原因有严格的限制,而 v2 应该能够将 tmp 目录一直增长到实例的最大分配磁盘空间。您能否确认在 ALTER TABLE 执行期间分配给实例的总磁盘空间没有用完?
    • 我确认我没有用完总磁盘空间。事实上,当我遇到我报告的错误/当它在命令执行期间达到峰值时,我仍然有将近 25% 的总容量可用。另外,我已经多次尝试该命令,但由于此错误而失败,但没有接近耗尽总磁盘空间。
    • 我建议您在非公共组件 (issuetracker.google.com/issues/…) 下提出问题并提及您的项目和实例 ID。 GCP 团队将调查可能导致此问题的具体实例详细信息。
    • 我已经在你指向的问题跟踪器上报告了它。让我们来看看。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-12-27
    • 2013-09-30
    • 2016-01-27
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2014-03-18
    • 2011-01-01
    相关资源
    最近更新 更多