这个问题似乎被问了很多,但我找不到明确的答案。
我正在使用 MySQL 进行一些 webapp 测试,一开始我使用了“root”用户(密码非空)。我的 root 用户在应用程序(通过 PHP 和 Python 的 Django 测试)、命令行和 PHPMyAdmin 都可以正常工作。
但是我不想使用 root 用户,所以我创建了另一个用户,并将所有权限授予用户应该需要的数据库。(我为此任务使用了以“root”身份登录的 PHPMyAdmin )。
新用户无法登录 MySQL。既不是来自 Django 应用程序,也不是来自 PHPMyAdmin,也不是来自命令行。
我有两个可能的怀疑:
用户缺少全局权限。(正如我所说,我授予了所有数据库权限,但是我没有授予任何全局权限);
用户配置的主机。( 'root'在mysql.user表中有四行,用于主机'localhost'、'my-pc-name'、'127.0.0.1'和'::1';而新用户有一行用于主机' %' )
(我已经仔细检查了密码,所以我确信这不是密码问题。)