原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错。
解决方法: 更改加密方式
-
先通过命令行进入mysql的root账户:
mysql -uroot -p
-
再输入root的密码:
-
更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
- 更改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
- 刷新:
FLUSH PRIVILEGES;
- 查看是否修改成功
mysql> use mysql;
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| % | root | mysql_native_password | *57237BB49761F29AB9724BA084E811D70C12393D |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | mysql_native_password | *57237BB49761F29AB9724BA084E811D70C12393D |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
如果是Docker启动
- 完成以上修改后构建容器为镜像
docker commit -a "runoob.com" -m "my sql" a404c6c174a2 mymysql:v1
- 重启镜像即可
网友评论