windows系统下mysql的 Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决方案

在Windows系统中,当尝试启动MySQL服务并设置初始密码遇到Accessdenied错误时,可以按照文章所述步骤进行操作:停止MySQL服务,使用mysqld命令跳过权限表,然后在新的cmd窗口中以root用户登录,更新root用户的密码,刷新权限,最后重启服务。这个过程用于解决因之前配置导致的密码访问问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在配置mysql的过程中出现了这样的问题:

在启动Mysql服务后,输入mysqladmin -u root password 1234设置初始密码,显示:

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

似乎是因为之前在电脑上已经配置过其他版本的mysql服务器,导致密码已经被设置过

查阅了一众文章后,最终找到了适合windows系统的解决方案

第一步:在有管理员权限的cmd(c盘中的windows-system32中找到cmd,右键以管理员权限运行)下,运行net stop mysql,关闭Mysql服务

第二步:输入:

        mysqld  --defaults-file="安装路径\my.ini" --console --skip-grant-tables

        这里的安装路径填入sql安装时的路径,该路径中包含bin,data文件夹,当然,还有my.ini文件

运行后,应当出现如下结果

 第三步:不要关闭该cmd窗口,再打开另一个管理员权限的cmd窗口,并运行mysql -uroot mysql

        运行成功后将显示输入mysql命令的界面

 

        (*如果先前设置过了bin的环境变量,可以直接运行,否则需要将cmd转到Bin目录下再运行)

第四步:运行mysql命令:update user set authentication_string=password('123456') where user='root';

                此处的123456可替换为新密码

                然后运行flush privileges; 刷新权限

                最后运行quit;       退出mysql

        然后运行mysqladmin -uroot -p shutdown ,输入新密码 退出mysql

再次net start mysql 开启服务,并用net start mysql ,输入密码启动mysql,即可成功登入mysql

参考文案:https://www.cnblogs.com/da19951208/p/6403783.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值