为了账号安全,请及时绑定邮箱和手机立即绑定

用户'root @ localhost'拒绝访问(使用密码:NO)

用户'root @ localhost'拒绝访问(使用密码:NO)

人到中年有点甜 2019-08-08 10:18:35
我是MySQL的新手,我正试图在我的Windows桌面上运行WordPress,它需要MySQL。我安装Web Platform Installer了Microsoft提供的所有内容。我从未为MySQL设置root密码,在安装WordPress的最后一步,它要求提供MySQL服务器密码。root(如果有)的默认密码是什么以及如何更改?我试过了:mysql -u root password '123'但它告诉我:Access denied for user 'root@localhost' (using password:NO)在此之后我尝试:mysql -u root -p但是,它要求我没有密码。更新:正如Bozho建议的那样,我做了以下事情:我从Windows服务中停止了MySQL服务开通CMD将位置更改为c:\ program files \ mysql \ bin执行以下命令mysqld --defaults-file="C:\\program files\\mysql\\mysql server 5.1\\my.ini" --init-files=C:\\root.txt该命令运行时带有关于字符集的警告,我在下面提到过我从Windows服务启动MySQL服务我在命令行中写道mysql -u root -p EnterPassword: 123  // 123 was the password命令行显示以下错误Access denied for user 'root@localhost' (using password:**YES**)我该如何解决这个问题?我等着你的消息。
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

您可以重置root密码。请记住,不建议在没有密码的情况下使用root。


查看完整回答
反对 回复 2019-08-08
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

对于这种错误; 您只需要以管理员身份为root用户设置新密码。请按照以下步骤操作:


[root ~]# mysql -u root

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)

停止运行mysql的服务/守护进程


[root ~]# service mysql stop   

mysql stop/waiting

使用以下选项启动没有任何权限的mysql; 此选项用于启动,不使用MySQL的权限系统。


[root ~]# mysqld_safe --skip-grant-tables &

此时,终端似乎停了下来。那就是,并使用新的终端进行后续步骤。


进入mysql命令提示符


[root ~]# mysql -u root

mysql> 

修复root用户的权限设置;


mysql> use mysql;

Database changed

mysql> select * from  user;

Empty set (0.00 sec)

mysql> truncate table user;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;

Query OK, 0 rows affected (0.01 sec)

*如果您不想要任何密码或更确切地说是空密码


    mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;

    Query OK, 0 rows affected (0.01 sec)*

    mysql> flush privileges;

    Query OK, 0 rows affected (0.00 sec)

确认结果:


    mysql> select host, user from user;

+-----------+------+

| host      | user |

+-----------+------+

| localhost | root |

+-----------+------+

1 row in set (0.00 sec)

退出shell并以正常模式重启mysql。


mysql> quit;

[root ~]# kill -KILL [PID of mysqld_safe]

[root ~]# kill -KILL [PID of mysqld]

[root ~]# service mysql start

现在,您可以使用您设置的密码以root用户身份成功登录


 [root ~]# mysql -u root -pYourNewPassword 

 mysql> 


查看完整回答
反对 回复 2019-08-08
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

1)您可以通过调用MySQL控制台来设置root密码。它位于

C:\wamp\bin\mysql\mysql5.1.53\bin 默认情况下。

转到目录并键入MySQL。然后设置密码如下..

    > SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2)您可以通过编辑为root用户配置wamp的phpmyadmin应用程序

C:\wamp\apps\phpmyadmin3.3.9\config.inc.php

注意: -如果您正在使用xampp,则文件将位于

C:\xampp\phpMyadmin\config.inc.php

它看起来像这样:

        $cfg['Servers'][$i]['verbose'] = 'localhost';
        $cfg['Servers'][$i]['host'] = 'localhost';
        $cfg['Servers'][$i]['port'] = '';
        $cfg['Servers'][$i]['socket'] = '';
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['extension'] = 'mysqli';
        $cfg['Servers'][$i]['auth_type'] = 'config';
        $cfg['Servers'][$i]['user'] = 'root';
        $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
        $cfg['Servers'][$i]['AllowNoPassword'] = false;

设置$cfg['Servers'][$i]['AllowNoPassword']为 false时,将解决错误“拒绝用户'root @ localhost'(使用密码:NO)”的错误

如果您私下更改了“root @ localhost”的密码,那么您必须做两件事来解决错误“访问权限用户'root @ localhost'”:

  1. 如果['password']有一个空引号,如'',那么将你的密码放在引号之间。

  2. 将(使用密码:NO)更改为(使用密码:YES)

这将解决错误。

注意:phpmyadmin是一个单独的工具,附带wamp。它只是为MySQL提供了一个接口。如果你更改我的sql root的密码,那么你应该更改phpmyadmin配置。通常phpmyadmin配置为root用户。


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 4404 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信