8.0版本的MYSQL连接时出现Access-denied-for-user-root-localhost-using-password-YES-的解决方法

8.0版本的MYSQL连接时出现Access denied for user root@localhost (using password:YES)的解决方法

今天在进行SSM框架学习时候连接数据库时发现出现了错误,经过查询应该是MYSQL中root密码不对的缘故,于是多方查询发现大部分是向my.ini文件中做修改:

在[mysqld]后添加skip-grant-tables

本人试过后并无效果,后来发现是MYSQL版本不一致,MYSQL8.0版本已经去除了这一功能。

MYSQL8.0版本的解决方法如下:

第一步:关闭服务 net stop mysql 这个需要在管理员权限才行

第一步

第二步:进入到安装的bin目录 执行 :mysqld --console --skip-grant-tables --shared-memory(注:这个窗口执行完之后不要关闭,重新起一个新的cmd窗口)

8.0版本的MYSQL连接时出现Access-denied-for-user-root-localhost-using-password-YES-的解决方法_第1张图片

第三步:启动一个新的cmd窗口 执行 mysql -uroot -p 就能免密进入

8.0版本的MYSQL连接时出现Access-denied-for-user-root-localhost-using-password-YES-的解决方法_第2张图片

第四步修改密码:

  1. use mysql

  2. update user set authentication_string=’’ where user=‘root’ 如果这个字段有值,先置为空

  3. flush privileges 刷新权限表

  4. alter user ‘root’@‘localhost’ identified by ‘123’ 修改root 密码

至此密码重置成功。

你可能感兴趣的:(数据库,mysql,数据库,database)