默认情况下,heroku仅适用于postgreSQL数据库。但是,有一个ClearDB插件,允许您使用MySQL数据库。问题是该插件使用旧版本的MySQL 5.5.62引擎。使用MySQL Workbench连接到服务器时,出现警告
检测到不兼容/非标准服务器版本或连接协议(5.5.62)。可以建立与此数据库的连接,但是某些MYSQL Workbench功能可能无法正常使用,因为该数据库与支持的MYSQL版本不完全兼容。 MYSQL Workbench是针对MYSQL Server 5.6、5.7和8.0版本开发和测试的。
我试图创建一个新的数据库,使用以下命令明确指示引擎的版本:
heroku addons:create cleardb:ignite --version=5.7
但是,这没有帮助,仍然出现相同的警告。如何在ClearDB中更新MySQL引擎的版本?
答案 0 :(得分:5)
更新。 3月26日,我尝试了以下方法:
$ heroku addons:create cleardb:ignite --name=my-db-name --version=5.7
如Heroku DOC所述:
ClearDB默认在新的G5基础结构上配置MySQL 5.6,但我们支持MySQL 5.5、5.6和5.7。如果您希望使用上述MySQL版本的特定版本,只需在
heroku addons:create
命令中指定version参数
但是,它不适用于他们的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的工作方式相同,您可以以相同的方式安装它。
正如他们在DOC中所说:
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
答案 1 :(得分:1)
ClearDB says,默认情况下,他们在专用的G5基础架构中提供5.6。我认为推断是,在共享基础架构(ignite
使用的基础架构)上,这是不可能的。声明版本似乎没有任何效果,您得到5.5。