这是一个新安装,我只为 localhost、127.0.0.1 和 设置了 root 密码。
我知道密码是正确的,因为我可以用 root@localhost 登录 mysql 服务器,也可以创建用户。但是,当我尝试向新创建的用户授予权限时,我收到了可怕的“ Access denied for user root@localhost (using password: YES)
”错误消息。
GRANT ALL PRIVILEGES ON *.* TO 'myUserName'@'localhost' IDENTIFIED WITH 'myUsersPass' WITH GRANT OPTION;
Returns: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
我的设置中一定有一些小问题没有解决,但我找不到它。我搜索了一段时间,似乎只找到一个与此相关的错误 root 帐户密码,我知道我找到了正确的密码。
我浏览过这里的许多帖子,它们似乎都与 root 帐户的密码丢失或未知有关,但这里的情况并非如此。
答案1
我想到的唯一原因是缺少权限。检查您的 root@localhost 是否具有授予权限。您可以通过查看SELECT * FROM mysql.user WHERE Host='localhost' and User='root';
和检查Grant_priv
列来找到它。我认为您应该能够通过将列设置为'Y'
并执行FLUSH PRIVILEGES
或重新启动 mysql 来修复它。