在本周转到了考试系统的项目,开始之前就知道会遇到问题,但没想到,会遇到这么多问题。
FlywayEditionUpgradeRequiredException: Flyway Enterprise Edition or MySQL upgrade required: MySQL 5.6 is no longer supported
启动项目时遇到的第一个问题就是这样,不过这个很好解决,报错已经说得很明白了,要么升级flyway,要么升级mysql版本,毫无疑问是升级mysql版本了。
但当时为了偷懒,就用docker安装了最新版的mysql,这已经是mysql8了,这又埋下坑。
Public Key Retrieval is not allowed
新的问题出现了,这是因为MySQL8.0版本的加密方式和MySQL5.0的不一样,mysql8.0 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,最简单的解决办法就是,在连接后面加上allowPublicKeyRetrieval=true
。
关于为什么作出这个修改,官方给出了解释。