我正在尝试在 Windows 桌面上运行 WordPress,它需要 MySQL。
我使用 Microsoft 提供的 Web Platform Installer
安装所有内容。我从未为 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 是密码
命令行显示以下错误
用户“root@localhost”访问被拒绝(使用密码:**YES**)
如何解决这个问题?
最佳答案
对于这种错误;您只需以管理员身份为 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>
关于mysql - 用户 'root@localhost' 的访问被拒绝(使用密码 :NO)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45760976/