gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 03:24:08 25 4
gpt4 key购买 nike

我想在我的 Windows 桌面上运行 WordPress,它需要 MySQL。

我使用 Microsoft 提供的 Web Platform Installer 安装所有内容。我从来没有为 MySQL 设置根密码,在安装 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 -pEnterPassword: 123//123 是密码

  8. 命令行显示如下错误

    用户“root@localhost”的访问被拒绝(使用密码:**YES**)

我该如何解决?

最佳答案

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

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. 停止正在运行的mysql服务/守护进程

     [root ~]# service mysql stop   
    mysql stop/waiting
  2. 使用以下选项在没有任何权限的情况下启动 mysql;该选项用于开机不使用MySQL的权限系统。

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

此时,终端似乎停止了。顺其自然,并使用新终端进行后续步骤。

  1. 进入mysql命令提示符

     [root ~]# mysql -u root
    mysql>
  2. 修复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)
  1. 退出shell并以正常模式重启mysql。

     mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
  2. 现在您可以使用您设置的密码以root用户身份成功登录

      [root ~]# mysql -u root -pYourNewPassword 
    mysql>

关于mysql - 用户 'root@localhost' 的访问被拒绝(使用密码 :NO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com