【Access denied for user ‘root’@‘localhost’ (using password: YES)】**
好像每次关机重启mysql8,用navicat连接本地mysql8都会出现这个问题,可我的密码也没错呀。
- 于是我是这么解决的:
1. 首先关掉mysql命令 可以使用net stop mysql 也可以通过服务列表手动关闭
2. 打开管理员cmd命令窗口
-
据我了解 mysql8之前的是在my.ini文件中【mysqld】中加一句的 mysql8的话是:在管理员打开的cmd
进入到mysql的bin目录下输入
mysqld --console --skip-grant-tables --shared-memory3. 在打开一个新的cmd窗口(不需要管理员权限) 执行 mysql -uroot -p 就能免密进入 【输入密码的时候,直接回车跳过】
-
4.第四步修改密码:
4.1. use mysql 4.2. update user set authentication_string='' where user='root' 如果这个字段有值,先置为空 4.3. flush privileges 刷新权限表 4.4 ALTER user 'root'@'localhost' IDENTIFIED BY '123456' 修改root 密码【如果你root的host是%,那么localhost就改为%】 ALTER user 'root'@'%' IDENTIFIED BY '123456' 4.5 flush privileges 再次刷新权限表
-
到这就修改密码成功了。 把所有的窗口都关闭了,在打开一个cmd窗口使用命令net start
mysql启动服务,或者手动在服务列表启动服务也可以。6. 最后在navicat测试连接【密码是123456】