记录Cause: java.sql.SQLSyntaxErrorException Table ‘*.*‘ doesn‘t exist

注意:在使用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时进行配置好,忽略大小写。这里附上详细的安装教程(附视频):

Linux CentOS8通过RPM方式安装mysql-8.0.24(视频教程)

猜你喜欢

转载自blog.csdn.net/cyl101816/article/details/129622090
今日推荐