我想在本地主机中删除用户root的密码。我该如何操作?由于错误操作,我已经为root用户设置了密码。这就是为什么phpmyadmin会出现以下错误的原因:
#1045 - 用户'root'@'localhost'使用的密码被拒绝访问(没有提供密码)
我想在本地主机中删除用户root的密码。我该如何操作?由于错误操作,我已经为root用户设置了密码。这就是为什么phpmyadmin会出现以下错误的原因:
#1045 - 用户'root'@'localhost'使用的密码被拒绝访问(没有提供密码)
你需要将root@localhost
的密码设置为空。有两种方法:
使用MySQL SET PASSWORD
命令:
SET PASSWORD FOR root@localhost=PASSWORD(''); -- MySQL 5.x
SET PASSWORD FOR root@localhost=''; -- MySQL 8.x
使用命令行工具mysqladmin
:
mysqladmin -u root -pType_in_your_current_password_here password ''
mysqladmin -u root -p password ''
,然后输入密码。 - crizCraigSET PASSWORD FOR root@localhost=PASSWORD('');
的文件,命名为 restore;mysqld_safe --init-file=path/to/restore
命令;
最后登录并用你喜欢的新密码重新修改密码。我也遇到过这个问题,
首先,我尝试使用以下命令将我的 root 密码设置为空:
SET PASSWORD FOR root@localhost=PASSWORD('');
但不要高兴,PHPMYADMIN使用 127.0.0.1 而不是 localhost,我知道你会说两者是相同的,但事实并非如此,请使用下面提到的命令,问题就解决了。
SET PASSWORD FOR root@127.0.0.1=PASSWORD('');
只需将 localhost 替换为 127.0.0.1,就完成了。
validate_password
插件的情况下删除它。请参阅我的文章Removing the MySQL root password或直接查看this gist。 - BenMorelSET PASSWORD FOR root@\
%`=PASSWORD('');`,百分号必须用反引号括起来。 - FantomX1~/.my.cnf
可能有效。)[client]\npassword = root
(将\n
替换为换行符即可) - David Winiecki