新安装的MariDB 10.4 (fedora 31)。我以root身份登录mysql:
MariaDB [mysql]> select User, Host,Password from user;
+-------+-----------+-------------------------------------------+
| User | Host | Password |
+-------+-----------+-------------------------------------------+
| root | localhost | *A4B6157319038724E3560894F7F932C8886EBFCF |
| mysql | localhost | invalid |
+-------+-----------+-------------------------------------------+
2 rows in set (0.001 sec)
MariaDB [mysql]如果我尝试创建一个新用户:
MariaDB [mysql]> create user 'developer'@'localhost' identified by 'pippo';
ERROR 1396 (HY000): Operation CREATE USER failed for 'developer'@'localhost'正如第一个表中所述,用户developer不存在。根的权限似乎很好:
MariaDB [(none)]> SHOW GRANTs;
+-------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+-------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA mysql_native_password OR unix_socket WITH GRANT OPTION |
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION |
+-------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)发布于 2020-02-15 10:52:52
问题是,尽管用户没有在mysql.user表中列出,但在mysql.db中有一个与该用户相关的条目。
因此,解决方案是:也检查mysql.db是否与用户名发生冲突。
https://dba.stackexchange.com/questions/259733
复制相似问题