MySQL 用户名的大小写敏感性取决于多个因素,以下是详细说明:
默认情况下:MySQL 用户名在大多数平台上是不区分大小写的(Windows 和 macOS 默认文件系统不区分大小写)
Linux/Unix 系统:用户名是否区分大小写取决于 lower_case_table_names
系统变量的设置:
0
:区分大小写(Unix/Linux 默认)1
:不区分大小写(存储为小写)2
:不区分大小写(保留大小写但比较时不区分)MySQL 8.0+ 变化:从 MySQL 8.0 开始,lower_case_table_names
的默认值在不同操作系统上有差异
SHOW VARIABLES LIKE 'lower_case_table_names';
mysql.user
表中的用户名保留原始大小写lower_case_table_names
值要修改大小写敏感性设置,需要在 my.cnf
/my.ini
配置文件中设置并重启 MySQL:
[mysqld]
lower_case_table_names=1
注意:更改此设置后可能需要重建某些系统表。