当前位置:   article > 正文

Linux 下 Mysql 区分大小写_linux mysql 区分大小写

linux mysql 区分大小写

Linux 下 Mysql 区分大小写

问题描述

将 SpringBoot 项目部署到 linux 服务器之后,运行数据库报错

Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table ‘trace-memory.T_USER’ doesn’t exist

原因分析

之前都是在 windows 环境下测试,windows 环境下大小写不敏感,而 linux 下是大小写敏感的。

解决办法

查看 MySQL 变量 lower_case_table_names

show variables like '%lower_case_table_names%';
  • 1

linux 中运行发现 lower_case_table_names 的值是 0,也就是区分大小写

在这里插入图片描述

需要做的就是将这个变量值修改为 0

修改方法:

  1. 找到mysql的安装位置

  2. 找到主目录下的my.ini配置文件

  3. 在[mysqld]节点下添加

lower_case_table_names=0
  • 1
  1. 重启mysql服务

docker 中的 mysql 容器

如果 mysql 是使用的 docker 容器,可以在启动容器时,指定 --lower_case_table_names=0 进行修改

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=[password]  -d mysql:5.7 --lower_case_table_names=1
  • 1

启动后再次查看 mysql 中 lower_case_table_names 的值已经编程 1

在这里插入图片描述

参考

MySQL表名大小写敏感导致的问题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/581552
推荐阅读
相关标签
  

闽ICP备14008679号