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

我是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建议的那样,我做了以下事情:

  1. 我从Windows服务中停止了MySQL服务

  2. 开通CMD

  3. 将位置更改为c:\ program files \ mysql \ bin

  4. 执行以下命令

    mysqld --defaults-file="C:\\program files\\mysql\\mysql server 5.1\\my.ini" --init-files=C:\\root.txt

  5. 该命令运行时带有关于字符集的警告,我在下面提到过

  6. 我从Windows服务启动MySQL服务

  7. 我在命令行中写道

    mysql -u root -p EnterPassword: 123  // 123 was the password

  8. 命令行显示以下错误

    Access denied for user 'root@localhost' (using password:**YES**)

我该如何解决这个问题?我等着你的消息。


人到中年有点甜
浏览 4420回答 3
3回答

江户川乱折腾

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

慕的地6264312

对于这种错误; 您只需要以管理员身份为root用户设置新密码。请按照以下步骤操作:[root ~]# mysql -u rootERROR 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 rootmysql> 修复root用户的权限设置;mysql> use mysql;Database changedmysql> 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> 

犯罪嫌疑人X

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'”:如果['password']有一个空引号,如'',那么将你的密码放在引号之间。将(使用密码:NO)更改为(使用密码:YES)这将解决错误。注意:phpmyadmin是一个单独的工具,附带wamp。它只是为MySQL提供了一个接口。如果你更改我的sql root的密码,那么你应该更改phpmyadmin配置。通常phpmyadmin配置为root用户。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL