google-cloud-platform - 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
解决方案
由于服务的托管性质(稳定性/简化原因等),Cloud SQL MySQL 中不支持某些标志。如果您决定需要使用,您可以尝试其他解决方法,例如减少本文下面进一步提到的内存使用量Cloud SQL 不支持的标志,您可以选择创建自己的自我管理 MySQL 实例,以绕过 Cloud SQL 限制。(例如使用Compute Engine)
推荐阅读
- mongodb - 更改文档的结构
- sql - 如何在sql查询中获取字符串中的拖车模板
- c# - 如何在 C# 中使用 selenium WebDriver 查找按钮
- javascript - 我的“Access-Control-Allow-Origin”标头在我的 .htaccess 中不起作用?
- php - 我在 mysql 数据库中插入信息时遇到问题
- asp.net-mvc - 在 Angular 6 中使用解析器检索数据,但在对象中,数组为空。为什么?
- c# - 将字符串解析为自定义日期格式c#
- github-api - 如何按语言过滤搜索 Jupyter Notebook
- php - Laravel - MethodNotAllowedHttpException in RouteCollection.php line 251
- python-3.x - 有没有办法在你的机器人的帮助下通过它的 ID 加入服务器/获得邀请?(在这种情况下,机器人已经在服务器中)