首页 > 解决方案 > Google MySQL 云数据库标志不存在:internal_tmp_disk_storage_engine

问题描述

我们有谷歌云 MySQL 实例,我们收到如下错误:

InnoDB: Cannot add field CE_Lead__c in table client_1067.#sql-ib1179556-1243586840 because after adding it, the row size is 8148 which is greater than maximum allowed size (8126) for a record on index leaf page.

解决此问题的解决方法是设置 internal_tmp_disk_storage_engine=MYISAM

我在数据库标志部分看不到这个标志,同样根据谷歌文档,这个变量在谷歌云中不存在,但是我可以看到它存在于 MySQL 5.7

谷歌云支持的标志中不存在数据库标志:

https://cloud.google.com/sql/docs/mysql/flags#list-flags-mysql

MySQL 5.7 中存在数据库标志 https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_internal_tmp_disk_storage_engine

谢谢SKS

标签: google-cloud-platformmysql-error-1064

解决方案


由于服务的托管性质(稳定性/简化原因等),Cloud SQL MySQL 中不支持某些标志。如果您决定需要使用,您可以尝试其他解决方法,例如减少本文下面进一步提到内存使用量Cloud SQL 不支持的标志,您可以选择创建自己的自我管理 MySQL 实例,以绕过 Cloud SQL 限制。(例如使用Compute Engine


推荐阅读