Lavagna MySql 8
Cet article présente les actions nécessaire pour que Lavagna
, en version 1.1.13
fonctionne avec la base de données MySql
.
Votre avis
Nobody voted on this yet
|
|
Analyse
Suite à la mise à jour de Ubuntu en 19.10
, la base de données MySql
est mise jour en version 8.0.18
.
Or lors du démarrage de Lavagna
, sous Tomcat
, un message d'erreur est présent dans les traces.
SQL State : HY000 Error Code : 1193 Message : Unknown system variable 'query_cache_size' at org.flywaydb.core.internal.util.jdbc.JdbcUtils.openConnection(JdbcUtils.java:57) at org.flywaydb.core.Flyway.execute(Flyway.java:1418) at org.flywaydb.core.Flyway.migrate(Flyway.java:971) at io.lavagna.service.DatabaseMigrator.doMigration(DatabaseMigrator.java:44) at io.lavagna.service.DatabaseMigrator.<init>(DatabaseMigrator.java:29) at io.lavagna.config.DataSourceConfig.migrator(DataSourceConfig.java:115) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 29 more Caused by: java.sql.SQLException: Unknown system variable 'query_cache_size'
Or la variable a été supprimé depuis la version 8.0.3
comme indiqué dans la documentation officielle de MySql
: https://dev.mysql.com/doc/refman/8.0/en/added-deprecated-removed.html
Correctif
Afin de corriger cette anomalie, il suffit de modifier le driver MySql
embarqué dans la distribution Lavagna
. D'après la fichier pom.xml
, c'est la version 5.1.41
qui est utilisée et il existe une version 5.1.48
disponible dans les dépôts Maven
.
Il faut donc télécharger celle-ci et l'injecter dans l'application. Dans le cadre de cette installation, l'application tourne sous Tomat8
, et il n'est alors plus possible d'utiliser le paquet war
, qui serait redéployer à chaque démarrage.
L'installation s'effectue donc de la façons suivante.
#sudo systemctl stop tomcat8 #sudo rm /var/lib/tomcat8/webapps/lavagna/WEB-INF/lib/mysql-connector-java-5.1.41.jar #sudo wget -O /var/lib/tomcat8/webapps/lavagna/WEB-INF/lib/mysql-connector-java-5.1.48.jar https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/5.1.48/mysql-connector-java-5.1.48.jar #sudo chmod 640 /var/lib/tomcat8/webapps/lavagna/WEB-INF/lib/mysql-connector-java-5.1.48.jar #sudo chown tomcat8:tomcat8 /var/lib/tomcat8/webapps/lavagna/WEB-INF/lib/mysql-connector-java-5.1.48.jar #sudo systemctl start tomcat8