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
注意:更改此设置后可能需要重建某些系统表。