mysql 提示 access denied for user 'root'@'localhost'(using password:YES) 的解决方法

时间:2021-09-10 20:31:52
 有时候用第三方的客户端管理mysql时或cmd命令行使用时提示

access denied for user 'root'@'localhost'(using password:YES)问题?????,


解决方案如下:
 1 ,有可能你在安装mysql时更改了mysql的端口号,连接默认是使用3306端口,现在端口被修改了,相应的管理工具的链接端口也要更改,!
2 , 有可能在你安装mysql时没有使用管理员的权限安装,root当前是没有权限的,所以,这样操作:
2-1  管理员登陆系统,停止mysql服务或者结束mysqld-nt进程;
    2-2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , CMD进入命令行;
    2-3. 运行 D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld-nt --skip-grant-tables启动mysql,关闭权限的检查;
2-3-1 如果提示 mysqld-nt 不是内部命令是,使用mysqld 就可以了,这是因为mysql的版本和windows版本的一点小问题,------具体不详:
    2-4. 运行 D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin -u root flush-privileges password "newpassword" 重设root密码;
2-4-2  修改mysql的密码命令: mysqladmin -u root flush-privieges password "新密码";
    2-5. 重新启动mysql服务;

3 , 还有就是你安装mysql的时候没有设置密码,但是第三方的管理软件链接mysql的时候填写了root密码,顾 报错:
在cmd下查看 mysql的密码命令 : select host,user from mysql.user ;
如果想看密码:
select host,user ,password from mysql.user;
执行这行命令时报错的话,就是你的mysql没有设置密码,使用上一条命令:
select host,user from mysql.user