MySql数据库链接问题ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

当MySql数据库安装好后登陆发现报错

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
然后用 Navicat Premium 链接也是报同样的错误 ,网上统一的解决方案是大概就是这么四步;

解决方案:
1、 停止服务:停止MySQL服务;
2、 跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查;
3、 修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码;
4、 重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。

Windows系统具体操作:

1、 停止服务:

方法1:使用dos命令net stop mysql即可

会出现服务名无效,这时可以使用第二种方法。

方法2:进入【控制面板】–>【管理工具】 –>【服务】,找到MySQL服务,点击左边的停止。

2、 跳过验证:

进入MySQL的安装路径(以默认安装路径为例)C:\Program Files\MySQL\MySQL Server 5.1\,找到my.ini配置文件(些文件记录MySQL的常规参数,每次启动服务都会先加载此文件),在my.ini配置文件的最后一行加入skip_grant_tables,此语句可以忽略登录检查。
3、 修改密码:

启动MySQL服务,进入dos环境,输入mysql -u root -p登录MySQL(如果安装时没有
勾选添加

环境变量,需要先使用cd命令进入MySQL安装目录),此时提示输入密码,输入任意密码回车即可进入MySQL,出现mysql>控制符,此时表示已经成功登录MySQL;

mysql> USEmysql (将数据库切换至mysql库中)
mysql> UPDATE user SET password=PASSWORD(‘newpswd’)WHERE user=’root’ (修改密码)
password函数为MySQL内部函数,其中newpswd为修改后的新密码。

4、 重启服务:

将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可

通过以上的解决方案发现执行到这句sql语句的时候报错

UPDATE user SET password=PASSWORD(‘newpswd’)WHERE user=’root’

说没有这一列 –>PASSWORD

经过一番的查找发现有网友给出了解决方案 :

update mysql.user set authentication_string=password(‘new_password’) where user=’root’ and Host = ‘localhost’;

问题出现的原因是 PASSWORD 字段被修改成了 authentication_string;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值