navicat(MySql)错误1045 Access denied for user 'root'@'localhost' (using password:YES)

新电脑装mysql+navicat 后,打开navicat提示错误如题目,可能是某种原因root密码记错了。
在网上找了一些方法,结合自己的实践,总结如下:

1、开始菜单里,搜索cmd,右击,以管理员身份运行控制台。停止mysql服务,输入:net stop mysql;点击回车即可。
2、进入mysql的安装路径,如我的安装路径为C:\Program Files\MySQL\MySQL Server 5.5,打开my.ini文件,找到[mysqld],在该行下面添加 skip_grant_tables,也就是通知mysql,在登陆的时候跳过密码的验证,保存后退出(此时有可能提示不允许保存此文件,我的做法是,先将此文件重命名为my0.ini,在复制一个新的my.ini文件过来);
3、cmd,管理员运行,输入:net start mysql;回车
4、进入navicat客户端,此时连接数据库不报错,直接可以进入了。因为现在是跳过密码验证。
打开数据库mysql,里面的表叫做user,打开看一下,里面就是用户名和密码,密码处于加密状态,直接用sql语句更新即可。
打开查询,新建查询,运行下面的sql:
update user set password='root' where user='root'
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客户端,点击连接,输入用户名和密码后便可以连接成功。

你可能感兴趣的:(数据库)