mysql 突然报错,连接不上
错误如下, Access denied for user 'root'@'localhost' (using password
关掉mysql服务,重新启动
如果不行,那应该就是密码被改了,密码不对应
1.以系统管理员身份运行cmd.
2.查看mysql是否已经启动,如果已经启动,就停止:net stop mysql.
如果保存就在cmd下执行services.msc,找到mysql的服务停掉
3.切换到MySQL安装路径下:D:\WAMP\MySQL-5.6.36\bin;如果已经配了环境变量,可以不用切换了。
4.在命令行输入:mysqld -nt --skip-grant-tables
5.重启以管理员身份运行一个cmd,输入:mysql -uroot -p,Enter进入数据库。
6.如果不想改密码,只是想看原来的密码的话,可以在命令行执行这个语句
select
host,
user
,
password
from
mysql.
user
;//即可查看到用户和密码
7.如果要修改密码的话,在命令行下 依次 执行下面的语句
use mysql
update
user
set
password
=
password
(
"new_pass"
)
where
user
=
"root"
;//
'new_pass'
这里改为你要设置的密码
flush
privileges
;
exit
如果报错 :
Host * is not allowed to connect to this MySQL server
- 在装有MySQL的机器上登录MySQL mysql -u root -p密码
- 执行
use mysql;
- 执行
update user set host = '%' where user = 'root';
这一句执行完可能会报错,不用管它。 -
执行
FLUSH PRIVILEGES;
经过上面4步,就可以解决这个问题了。
注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。