Navicat连接不上Docker启动的MySQL8

原因是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 
  • 重启镜像即可
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容