我正在尝试运行
授予 * 上的所有权限。 * TO 'root'@'localhost';
从远程服务器到 localhost/phpmyadmin 但收到错误 1045 (28000): 用户 'root'@'%' 的访问被拒绝(使用密码:NO)。
mysql> show grants;
+----------------------------------+
| Grants for root@% |
+----------------------------------+
| GRANT USAGE ON *.* TO 'root'@'%' |
+----------------------------------+
如何解决这个问题?我在互联网上浏览了很多建议,但实际上无法弄清楚。
最佳答案
我认为,您忘记刷新权限
。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' with GRANT OPTION;
mysql> FLUSH PRIVILEGES;
注意:
我已将 包含在 GRANT OPTION
中,因为正如文档所说:
The
GRANT OPTION
privilege enables you to give to other users or remove from other users those privileges that you yourself possess.
编辑1:
根据评论,您似乎忘记了root
密码。所以尝试像这样重置:
停止 MySQL 服务器。
sudo/etc/init.d/mysql stop
无密码启动mysql
sudo mysqld_safe --skip-grant-tables &
以
root
身份登录mysql
:mysql -u root
将新密码设置为
root
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
刷新权限。
刷新权限;
最后正常重启mysql。
关于mysql - 错误 1045 (28000) : Access denied for user 'root' @'%' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36395296/