Springboot应用mysql从5.X版本切换到8.0及以上版本的坑

Springboot应用mysql从5.X版本切换到8.0及以上版本的坑

  • maven管理代码中遇到的坑
  • 数据库连接句柄中,需要添加时区
  • mysql建立用户时,用户密码的加密方式经常出错
  • mysql服务端和客户端两者版本也要适配得上

maven管理代码中遇到的坑

项目启动时,遇到抛出空指针的报错,需要打开pom.xml文件修改mysql-connector驱动的版本。
Springboot应用mysql从5.X版本切换到8.0及以上版本的坑_第1张图片

数据库连接句柄中,需要添加时区

数据库连接句柄中,需要添加时区,不然会报错,服务器的时区与代码中拿到的时区有出入。
Springboot应用mysql从5.X版本切换到8.0及以上版本的坑_第2张图片

mysql建立用户时,用户密码的加密方式经常出错

加密认证方式2种,mysql_native_password和caching_sha2_password,8.0版本会默认安装成caching_sha2_password方式,我们需要进入数据库管理进行修改,切记先将密码置空或者修改mysql服务端的密码认证设置为不认证密码,不然一旦修改加密方式,会导致密码被‘格式化’掉,就算你输入对的密码,服务端也不认得了。
Springboot应用mysql从5.X版本切换到8.0及以上版本的坑_第3张图片

Springboot应用mysql从5.X版本切换到8.0及以上版本的坑_第4张图片

个人建议安装mysql服务端8.0.16版本,它在安装的时候支持2种加密认证方式可供选择,这样安装之后可以省下很多功夫去修改加密方式。

mysql服务端和客户端两者版本也要适配得上

服务端8.0就目前来说是新的版本,是服务端版本,当使用一些较为方便的工具管理mysql服务端时,版本也需要对应得上,不然会报错1251-麻烦升级一下你的客户端版本或者降级一下你的服务端版本

你可能感兴趣的:(Springboot应用mysql从5.X版本切换到8.0及以上版本的坑)