我的解决方法:结束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服务