我在试着跑
GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost';
从远程服务器到本地主机/phpmyadmin,但得到错误1045 (28000):Access denied for user 'root'@'%' (using password: NO).
mysql> show grants;
+----------------------------------+
| Grants for root@% |
+----------------------------------+
| GRANT USAGE ON *.* TO 'root'@'%' |
+----------------------------------+我如何解决这个问题?我在互联网上经历了很多建议,但实际上还是找不到答案。
发布于 2016-04-04 07:07:16
我想,你忘了flush privileges了。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' with GRANT OPTION;
mysql> FLUSH PRIVILEGES;注意:我包括了with GRANT OPTION,因为正如医生所说:
GRANT OPTION特权使您能够授予其他用户或从其他用户中删除您自己拥有的特权。
编辑1:
根据注释,似乎您已经忘记了root密码。所以试着像这样重置:
sudo /etc/init.d/mysql stopsudo mysqld_safe --skip-grant-tables &rootmysql -u root身份登录到rootmysql -u rootroot
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';FLUSH PRIVILEGES;发布于 2016-04-04 07:02:07
如果您有根凭据,那么设置下面提到的特权。
将db.*上的所有权限授予由“pass”标识的用户@‘’%‘;
谢谢
https://stackoverflow.com/questions/36395296
复制相似问题