注意:在使用mysql8.0.25过程中出现的问题:
Cause: java.sql.SQLSyntaxErrorException: Table 'usersInfo' doesn't exist,如下如所示
仔细看了数据库表,表名是userinfo。看到这里,仔细的人都能看出来是什么问题,但经过亲身体验后还是发现了一点小问题的。很多朋友都是说在配置文件配置lower_case_table_names=1,重启服务可以解决问题。实际上并不是如此。
后来经过我查阅mysql官方文档资料发现:该解决方案只能在5.6/5.7低版本的mysql中有效。
但是在8.0版本下是行不通的,就算怎么做lower_case_table_names变量也没有得到更新。
官方mysql8.0版本新增的一条说明:
lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited.
说明:LOWER_CASE_TABLE_NAMES只能在初始化服务器时配置。禁止在服务器初始化后更改LOWER_CASE_TABLE_NAMES设置。
也就是说在8.0版本,你的mysql已经初始化过就不支持修改lower_case_table_names参数了!!
当你修改配置,设置忽略大小写,重新启动mysql服务后,又变回了原有的。所以在这里最简单的解决办法就是:修改数据库表名。
也有很多人会选择重新安装数据库,在初始化mysql时进行配置好,忽略大小写。这里附上详细的安装教程(附视频):