转载自:https://blog.youkuaiyun.com/xdmfc/article/details/80263215
感谢作者!
原因:MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错。
解决方法:更改加密方式
- 进入MySQL的bin目录
mysql -u root -p
回车并输入密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
回车(更改加密方式)ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
回车(修改密码,可能非必须)FLUSH PRIVILEGES;
回车(刷新)
正常情况下都会返回Query OK
。
第5步可能出现报错:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'
,则是远程访问权限不正确,先选择数据库,查看一下再更改:
mysql> use mysql;
Database changed
mysql> select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)