关于mysql8.0 连接时出现Access denied for user root@localhost (using password:YES)的解决方法
第一步、先关闭服务(管理员权限)
net stop mysql;
第二步、进入到安装的bin目录 执行 :mysqld --console --skip-grant-tables --shared-memory(注:这个窗口执行完之后不要关闭,重新起一个新的cmd窗口)
如果报错
Can't create test file C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test
解决方法:
1、手动删掉自己创建的data文件夹
2、然后再管理员cmd下进入 bin 目录,移除自己的mysqld服务
D:\Program Files\MySQL\bin>mysqld -remove MySQL
Service successfully removed.
3、在cmd的bin目录执行 mysqld --initialize-insecure
程序会在动MySQL文件夹下创建data文件夹以及对应的文件
4、bin目录下执行,mysqld --install ,安装mysqld服务
5、在bin目录下运行net start mysql ,启动mysql服务。
第三步:启动一个新的cmd窗口 执行 mysql -uroot -p 就能免密进入
第四步修改密码:
-
use mysql
-
update user set authentication_string=‘’ where user=‘root’; 如果这个字段有值,先置为空
-
flush privileges; 刷新权限表
-
alter user ‘root’@‘localhost’ identified by ‘123’; 修改root 密码(localhost没用的话改成%)
至此密码重置成功。