如何解决Mac端Sequel Pro无法连接Docker中MySQL服务的问题
核心原因
你遇到的问题是两个已知兼容性问题叠加导致的:
- 你使用的官方版Sequel Pro已经停止维护,不支持MySQL 8.0默认的
caching_sha2_password认证加密方式,而你本地安装的新版mysql-client支持该加密方式,所以才会出现命令行能连、Sequel Pro连不上的差异 - 你使用的是M1架构的Mac,官方版Sequel Pro没有适配Apple Silicon芯片,运行时也可能出现网络连接类的兼容性异常
可行解决方案
方案1(最推荐):替换为适配M1和MySQL8的客户端
直接改用Sequel Ace即可,它是Sequel Pro的社区维护分支,操作逻辑和Sequel Pro完全一致,完美兼容M1芯片和MySQL 8.0的所有特性,你直接把现在填的连接配置原封不动填进去就能正常连接。
也可以根据自己的使用习惯选择TablePlus、DBeaver等其他支持MySQL8的数据库客户端。
方案2:修改MySQL用户加密规则适配旧版Sequel Pro
如果一定要使用官方版Sequel Pro,可以修改sail用户的加密方式为旧版mysql_native_password:
- 用本地mysql-client连接到Docker内的MySQL,执行以下SQL:
ALTER USER 'sail'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES;
- 重启MySQL容器后,再用Sequel Pro连接即可。
内容的提问来源于stack exchange,提问作者António Cabral
相关产品推荐
相关产品推荐

