MySQL设置不区分大小写(大小写不敏感)的安装和配置方法

2021-11-28 36点热度 0人点赞 0条评论

问题描述

MySQL默认在Windows上是对大小写不敏感的(不区分大小写),但是默认在Linux上是区分大小写的。所以规范一点,为了避免奇奇怪怪的问题,还是建议开发和使用都区分大小写。

一般来说的规则是:在定义数据库、表、列的时候全部采用小写字母加下划线的方式,不使用任何大写字母

不过如果遇到特殊情况,或者因为老项目不适合修改代码,只能让MySQL数据库对大小写不敏感,要怎么做呢?

问题解决

MySQL中使用这个lower_case_table_names来控制的

  • 正常安装的情况:修改my.conf (一般是正常安装的,可能在/etc/my.cnf)

增加如下lower_case_table_names=1 (写在[mysqld]下),1代表大小写不敏感 0代表敏感,Linux下默认就是0:

lower_case_table_names=1
  • Docker安装的情况:

可以修改docker的启动参数:

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --lower_case_table_names=1

当然如果是自定义的my.conf路径,也可以修改my.conf增加上面说的lower_case_table_names=1

# 指定my.cnf路径是 /storage/docker/mysql/my.cnf
docker run \
--detach \
--name mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-p 3306:3306 \
-v /storage/docker/mysql/my.cnf:/etc/my.cnf \
-v /storage/docker/mysql/mysql-data:/var/lib/mysql \
mysql/mysql-server

# /storage/docker/mysql/my.cnf中再配置:lower_case_table_names=1

 

admin

这个人很懒,什么都没留下

文章评论

*

code