Docker部署MariaDB后Sequel Pro连接报2013错误如何解决
故障修复步骤
- 修复docker-compose配置错误
你当前配置里同时设置了MYSQL_ROOT_PASSWORD: "root"和MYSQL_USER: "root",属于冲突配置:Mariadb官方镜像默认会创建root用户,不需要额外通过MYSQL_USER指定root,重复配置会导致初始化阶段root用户的远程访问权限配置异常,无法从容器外连接。
调整方案二选一:- 保留root用户登录:直接删除
MYSQL_USER: "root"和MYSQL_PASSWORD: "root"两行配置,root用户密码默认取MYSQL_ROOT_PASSWORD的值即可 - 使用普通用户登录:将
MYSQL_USER的值改为非root的自定义用户名,比如MYSQL_USER: "ecom_user"
- 保留root用户登录:直接删除
- 清理旧数据卷重新初始化
之前错误启动生成的数据库配置已经存在于持久化卷mysqldata中,修改配置后直接重启容器不会生效,需要执行以下命令清理旧卷(⚠️ 操作会删除卷内所有已有数据库数据,如有需要请先备份):docker-compose down -v docker-compose up -d - 排查本地端口占用
检查本地3306端口是否被宿主机自带的MySQL/其他服务占用,执行对应系统命令查看端口占用进程:- Mac/Linux:
lsof -i:3306 - Windows:
netstat -ano | findstr "3306"
如果确认有非Docker进程占用3306端口,可以将docker-compose中mysql的端口映射改为"3307:3306",之后Sequel Pro连接时端口填写3307即可。
- Mac/Linux:
- 验证连接工具兼容性
Sequel Pro停止维护已久,对Mariadb 10.5及以上版本存在兼容性问题,你可以先通过命令行测试连接是否正常:
如果命令行可以正常连接,更换为Sequel Ace(Sequel Pro的社区维护版本)即可正常连接。mysql -h127.0.0.1 -uroot -proot
内容的提问来源于stack exchange,提问作者Aditya Banerjee
相关产品推荐
相关产品推荐

