问题
By default, heroku only works with the postgreSQL database. However, there is a ClearDB plugin that allows you to use a MySQL database. The problem is that this plugin uses the old version of the MySQL 5.5.62 engine. When connecting to the server using MySQL Workbench, a warning appears
Incompatible/nonstandard server version or connection protocol detected (5.5.62). A connection to this database can be established but some MYSQL Workbench features may not work properly since the database is not fully compatible with the supported versions of MYSQL. MYSQL Workbench is developed and tested for MYSQL Server version 5.6, 5.7 and 8.0
I tried to create a new database, clearly indicating the version of the engine using the command:
heroku addons:create cleardb:ignite --version=5.7
However, this did not help, the same warning still appears. How to update the version of the MySQL engine in ClearDB?
回答1:
An update. On March 26, I tried this:
$ heroku addons:create cleardb:ignite --name=my-db-name --version=5.7
As it says on Heroku DOC:
ClearDB provisions MySQL 5.6 by default on our new G5 infrastructure, but we support MySQL 5.5, 5.6, and 5.7. If you wish to use a specific version of the aforementioned MySQL versions, simply specify the version argument to the
heroku addons:create
command
However, it does not work for their ignite
(shared) plan. The SHOW VARIABLES LIKE "%version%";
outputs:
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
Alternative Solution:
I used another addon called JAWSDB
.
It works the same way that ClearDB works and you can install it the same way.
As they say in their DOC:
JawsDB users can choose their database version at provision time by specifying a --version flag. Versions 5.7 and 8.0 are currently supported. If no version flag is supplied, the default database version will be used. The current default database version is 5.7
So, this command worked just fine:
$ heroku addons:create jawsdb:kitefin --name=my-db-name --version=5.7
The SHOW VARIABLES LIKE "%version%";
outputs:
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
There is almost no difference between these two addons. You can check the features you get in each under the Plans & Pricing
section in ClearDB and JawsDB.
回答2:
ClearDB says that they offer 5.6 by default in their dedicated G5 infrastructure. I think the inference is that on shared infrastructure (what's used by ignite
), that's not possible. Declaring a version doesn't seem to have any effect, and you're given 5.5.
来源:https://stackoverflow.com/questions/56253354/how-to-update-the-version-of-the-mysql-engine-in-cleardb