如何在ClearDB中更新MySQL引擎的版本?

8

默认情况下,Heroku 只支持 PostgreSQL 数据库。然而,有一个 ClearDB 插件可以让您使用 MySQL 数据库。问题在于,该插件使用的是旧版本的 MySQL 5.5.62 引擎。当使用 MySQL Workbench 连接服务器时,会出现警告:

检测到不兼容/非标准服务器版本或连接协议 (5.5.62)。可以建立到此数据库的连接,但由于数据库与 MYSQL 支持的版本不完全兼容,因此一些 MYSQL Workbench 功能可能无法正常工作。MYSQL Workbench 是为 MYSQL 服务器版本 5.6、5.7 和 8.0 开发和测试的。

我尝试使用以下命令创建新的数据库,并清楚地指定引擎的版本:

heroku addons:create cleardb:ignite --version=5.7

不过这并没有帮助,相同的警告仍然出现。如何更新ClearDB中MySQL引擎的版本?


然而,这并没有帮助,相同的警告仍然出现。如何在ClearDB中更新MySQL引擎的版本?- 你确定你连接的是新数据库,而不是旧的吗? - Chris
@Chris 我确定我正在连接到一个新的数据库。在连接之前,我会编辑 setings.py 文件。 - Неуловимый Джо
在连接之前,我编辑 setings.py - 你是怎么做的?是本地编辑后提交和推送吗?还是通过 heroku run 命令?或者其他方法? - Chris
另外顺带一提,你不应该编辑任何文件来更改数据库连接信息。这些信息应该来自于环境。使用类似os.getenv()的东西。 - Chris
2个回答

15

更新。在3月26日,我尝试了这个:

$ heroku addons:create cleardb:ignite --name=my-db-name --version=5.7

如Heroku DOC所述:

在我们的新G5基础设施上,默认使用MySQL 5.6,但我们支持MySQL 5.5、5.6和5.7。如果您想使用特定版本的MySQL,请在heroku addons:create命令中指定版本参数。

然而,对于他们的ignite(共享)计划不起作用。执行SHOW VARIABLES LIKE "%version%"; 命令的输出如下:

innodb_version            5.5.62
protocol_version          10
slave_type_conversions    ""
version                   5.5.62-log
version_comment           MySQL Community Server (GPL)
version_compile_machine   x86_64
version_compile_os        Linux

替代方案:

我使用了另一个叫做 JAWSDB 的插件。 它的工作方式与 ClearDB 相同,您可以以相同的方式安装它。 正如他们在文档中所说:

JawsDB 用户可以通过指定 --version 标志在预配时选择其数据库版本。目前支持版本 5.7 和 8.0。如果未提供版本标志,则将使用默认的数据库版本。当前的默认数据库版本为 5.7。

因此,这个命令完全可以正常工作:

$ heroku addons:create jawsdb:kitefin --name=my-db-name --version=5.7

SHOW VARIABLES LIKE "%version%"; 的输出结果为:

innodb_version            5.7.23
protocol_version          10
slave_type_conversions    ""
tls_version               TLSv1,TLSv1.1,TLSv1.2
version                   5.7.23-log
version_comment           Source distribution
version_compile_machine   x86_64
version_compile_os        Linux

这两个插件之间几乎没有区别。您可以在ClearDBJawsDB中的计划和定价部分检查每个插件提供的功能。


我在“Punch”计划上使用ClearDB时遇到了同样的问题。我无法获得高于MySQL 5.5的版本,并且我无法更改到除美国以外的其他地区。而JawsDB在“Leopard Shared”计划上直接支持MySQL 8,效果要好得多。 - Holger Ludvigsen
非常感谢你,伟大的人!你让我开心了一整天。 - Micessien

2
ClearDB表示,在他们的专用G5基础设施中,默认提供5.6版本。我认为推断是在共享基础设施(ignite使用的)上,这是不可能的。声明版本似乎没有任何效果,你只能得到5.5版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接