Windows7系统 Navicat连接MySQL提示错误1045 Access denied for user 'root'@'localhost' (using password:YES)

1、开始菜单里,搜索cmd,右击,以管理员身份运行控制台。停止mysql服务,输入:net stop mysql;点击回车即可。
2、进入mysql的安装路径,如我的安装路径为C:\Program Files\MySQL\MySQL Server 5.5,打开my.ini文件,找到[mysqld],在该行下面添加 skip_grant_tables,也就是通知mysql,在登陆的时候跳过密码的验证,保存后退出
3、cmd,管理员运行,输入:net start mysql;回车
4、进入navicat客户端,此时连接数据库不报错,直接可以进入了。因为现在是跳过密码验证。
打开数据库mysql,里面的表叫做user,打开看一下,里面就是用户名和密码,密码处于加密状态,直接用sql语句更新即可。
打开查询,新建查询,运行下面的sql:
update user set password='root' where user='root'
备注:我的问题是在user 表里存在两条 Host字段 为 localhost 的数据,其中最后一条只有localhost属性,其他值都为N,顾直接删除这条记录即可。
5、 cmd,管理员运行,输入:net stop mysql;回车
6、 进入mysql的安装路径,如我的安装路径为C:\Program Files\MySQL\MySQL Server 5.5,将my.ini文件中之前添加的字符串‘skip_grant_tables’去掉。(可以把刚才改名字的my0.ini重命名为my.ini)
7、 开始菜单里,搜索cmd,右击,以管理员身份运行控制台。重启mysql服务:net start mysql;
8、再次运行navicat客户端,点击连接,输入用户名和密码后便可以连接成功。

猜你喜欢

转载自blog.csdn.net/apple125414/article/details/79196887
今日推荐