解决mysql Access denied for user root@localhost错误

1.配置my.ini文件

  在文件中加入:skip-grant-tables,此时不用密码登录

2.关闭后重启服务

  net stop mysql;

  net start mysql;

3.登录MySQL服务修改密码

  MySQL  -u 用户名 -p;

4.修改密码

  update mysql.user set authentication_string=PASSWORD('你的新密码') where USER='用户名';

5.刷新权限表

  flush privileges

6.删除配置文件内容

  skip-grant-tables

7.关闭后重启服务

  net stop mysql;

  net start mysql;

8.改好之后,再修改一下my.ini这个文件,把我们刚才加入的 "skip-grant-tables"这行删除,保存退出再重启mysql就可以了。

服务器参考:Access denied for user ‘root‘@‘localhost‘问题的解决_罗先森何其有幸的博客-CSDN博客_access denied for user

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Access denied for user root@localhost"错误通常表示在尝试连接到MySQL数据库时,使用的用户名和密码不正确或者没有足够的权限。这个错误可能有以下几个原因和解决方法: 1. 用户名或密码错误:请确保输入的用户名和密码是正确的,特别是root用户的密码。可以尝试重新设置密码或者创建一个新的具有足够权限的用户。 2. 权限不足:如果使用的是root用户,但仍然遇到权限问题,可能是因为MySQL服务器配置了访问限制。可以通过修改MySQL配置文件(通常是my.cnf或my.ini)来解决。找到并编辑以下行: ``` bind-address = 127.0.0.1 ``` 将其注释掉或者修改为: ``` bind-address = 0.0.0.0 ``` 然后重启MySQL服务。 3. 远程访问权限:如果你正在尝试从远程主机连接到MySQL服务器,并且遇到了该错误,可能是因为MySQL服务器没有配置允许远程访问。可以通过以下步骤解决: - 登录到MySQL服务器。 - 运行以下命令以授予远程访问权限: ``` GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; ``` 其中,'root'是用户名,'%'表示允许来自任何主机的连接,'password'是密码。可以根据需要修改这些值。 - 运行以下命令以刷新权限: ``` FLUSH PRIVILEGES; ``` - 重启MySQL服务。 4. 防火墙阻止连接:如果你的服务器上启用了防火墙,可能会阻止MySQL的连接。请确保防火墙允许MySQL的入站连接。 希望以上解决方法能帮助你解决"Access denied for user root@localhost"错误

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值