Navicat连接数据库时报错1045-Access denied for user 'root'@'localhost'using password yes

我的解决方法:结束mysqld-nt进程,然后再打开navicat连接数据库就好了

别人完整的方法:

首先停止正在运行的MySQL进程 
Linux下,运行 killall -TERM mysqld 
Windows下,如果写成服务的 可以运行: net stop mysql
 ,如未加载为服务,可直接在进程管理器中进行关闭。 

2、以安全模式启动MySQL 
Linux下,运行 mysqld_safe --skip-grant-tables & 

Windows下,在命令行下运行 X:/MySQL/bin/mysqld-nt.exe --skip-grant-tables // 我这里使用的是mysqld.exe 程序(看有的地方可能需要加配置文件的路径  --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console,我这里没用可以)
 
3、完成以后就可以不用密码进入MySQL了 
Linux下,运行 mysql -u root -p 
 Windows下,运行 X:/MySQL/bin/mysql -u root -p// 不用密码登录即可进入 

4、更改密码 // 依旧是最上面的3步
>use mysql  
>update user set password=password("新密码") where user="root";  
>flush privileges;  

另外一个方法:

Windows:
1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程
2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , CMD进入命令行
3. 运行 d:\mysql\bin\mysqld-nt --skip-grant-tables 启动mysql,关闭权限的检查
4. 运行 d:\mysql\bin\mysqladmin -u root flush-privileges password "newpassword" 重设root密码
5. 重新启动mysql服务

猜你喜欢

转载自my.oschina.net/u/3855568/blog/1817889