mysql 创建大写字母的表名失败

1、现象描述:

在 linux 操作系统下 mysql 创建新的 TABLE_NAME 时,大写的表名无法创建成功,mysql 数据库自动将 TABLE_NAME 转换为小写

2、故障分析:

Linux 环境下 Mysql 数据库名与表名是严格区分大小写的(系统库 information_schema 及其之下的表除外 ),该限制取决于 mysql 配置文件参数 lower_case_table_names,而默认该参数是未配置的 。

3、处理办法

编辑 mysql 的配置文件 /etc/my.cnf 配置文件,在 mysqld 下面添加一行配置,lower_case_table_names=0,并重启 mysql 服务即可

说明:lower_case_table_names 是 mysql 设置大小写是否敏感的一个参数

|-------|--------------------------------|--------------------|
| 1 | 表名会被强制转换为小写进行存储,而且在查询时不区分大小写。 | 所有系统(推荐使用) |
| 0 | 表名会按照创建时的大小写原样存储,查询时必须严格匹配大小写。 | Linux/Unix(默认值) |
| 2 | 表名按创建时的大小写存储,但在比较时不区分大小写。 | Windows/macOS(默认值) |

相关推荐
大侠归来44 分钟前
常用 MySQL 分库分表方案详解
数据库·mysql
kingx31 小时前
Windows Server 2008 应急加固实战:7 项入侵痕迹排查与修复
数据库·windows·提权·应急响应·加固
xiaogai_gai2 小时前
采购业务退款单同步实战:从钉钉审批流到金蝶云星空付款单
java·数据库·钉钉
AlickLbc2 小时前
DM-V8数据库证书过期处理过程记录
数据库
l1t2 小时前
DeepSeek总结的五分钟测试:Ted Dunning 谈 DuckDB 为何让分析更轻松
数据库·sql·duckdb
超级新零售3 小时前
零售 SaaS 与本地部署,技术责任边界究竟怎么分?
数据库·零售
考虑考虑3 小时前
瀚高数据库
数据库·后端·postgresql
dishugj4 小时前
oracle日志切换三条命令区别
数据库
Patrick在香港4 小时前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
悟道书生4 小时前
(一)Navicate为什么转存结构和数据只转存表而不包含建库?
数据库·oracle