赞
踩
将 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%';
linux 中运行发现 lower_case_table_names
的值是 0,也就是区分大小写
需要做的就是将这个变量值修改为 0
修改方法:
找到mysql的安装位置
找到主目录下的my.ini配置文件
在[mysqld]节点下添加
lower_case_table_names=0
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
启动后再次查看 mysql 中 lower_case_table_names
的值已经编程 1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。