作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我输入了以下内容:
mysql> grant all on DBNAME.* to 'root@localhost' identified by 'MYROOTPWD';
然后我退出了 mysql 并做了一些 shell 的事情。现在,当我尝试使用 mysql 时,它失败了
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
我没有输错密码;我可以在终端中几行的 grant 命令中看到它。我已经尝试了一堆 previous answers在这个主题上没有成功。
我做错了什么?当然,我可以重置 root 密码并继续,但我想知道我的错误,所以我永远不会重复它。
更新:不,我没有刷新权限。显然我误解了它的作用。为什么我以前的能力(根本无法使用mysql)不起作用?
最佳答案
MySQL 用户应该在 GRANT 语句中通过单独的用户名和主机名来标识:
> grant ... to 'root'@'localhost' ...
^ ^
(请注意用户名和主机名周围的引号。)MySQL 用户由用户名和主机名标识。如果您只有一个单引号字符串,MySQL 将使用它作为用户名并采用主机名。检查 mysql.db 表,可能有一行包含 User
列,其中包含 root@localhost
。
关于授予后 MySQL 错误 1045,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25674030/
我是一名优秀的程序员,十分优秀!