连接mysql报错Access denied for user 'root'@'localhost' (using password: YES)解决办法

时间:2022-01-17 20:36:01

    1.打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”(免密码登录),保存并关闭文件,重启MySQL服务

    2.通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。

    3.执行“use mysql;”,使用mysql数据库。

    4。修改密码:执行“ update MySQL.user set authentication_string=password('123456') where user='root'”(新安装的MySQL5.7数据库下已经没有password这个字段了,password字段改成了authentication_string)。

    5.打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。重启MySQL服务,在命令行中输入“mysql -u root -p    123456”,即可成功连接数据库。

    接着登录SQLyog时又出现错误,错误号码1862:your password has expired。解决方法通过命令行进入数据库输入
mysql> SET PASSWORD = PASSWORD('123456');  问题解决。