我的印象是MySQL一般不区分大小写,尤其是在MS Windows中。在 MySQL 8.0.34 中,我运行了以下语句,但最后一条语句出现错误。错误消息为“错误代码:1410。不允许您使用 GRANT 创建用户”。一旦我将“USER1”更改为“user1”,它就可以工作。你能解释一下为什么吗?非常感谢。
DROP SCHEMA IF EXISTS db1;
CREATE SCHEMA db1;
USE db1;
CREATE TABLE Table1(
productID INT primary key
);
DROP USER IF EXISTS user1;
CREATE USER user1 IDENTIFIED BY 'password111';
GRANT SELECT ON DB1.TABLE1 TO USER1;
我的系统的字符集和排序规则分别是'utf8mb4','utf8mb4_0900_ai_ci'。
https://dev.mysql.com/doc/refman/8.0/en/account-names.html
出于访问检查的目的,用户值的比较区分大小写。主机值的比较不区分大小写。