You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Sequel Pro无法查看Docker容器中存在的Laravel数据库表

解决Laravel Sail MySQL容器Sequel Pro无法查看数据库/表的问题

核心排查与修复步骤

1. 核对Sequel Pro连接参数

  • 主机:填127.0.0.1或localhost(容器名organiser_mysql_1仅能在Docker内部网络访问,外部工具无法直接使用)
  • 端口:查看项目根目录docker-compose.yml中MySQL服务的端口映射,默认是3306(对应配置${FORWARD_DB_PORT:-3306}:3306),如果.env里修改了FORWARD_DB_PORT就用修改后的值
  • 用户名/密码:用户名固定为root,密码必须和项目.env文件里的DB_PASSWORD完全一致(容器初始化时用这个值设置root密码)

2. 授权root用户远程访问权限

容器内的root用户默认仅允许localhost连接,外部工具(比如Sequel Pro)需要额外授权:

  1. 进入容器MySQL:
    docker exec -it organiser_mysql_1 mysql -uroot -p
    
  2. 输入密码登录后,执行授权SQL:
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的DB_PASSWORD';
    FLUSH PRIVILEGES;
    
    把你的DB_PASSWORD替换成.env里的真实密码

3. 确认目标数据库存在

登录容器MySQL后,执行SHOW DATABASES;,检查organiser数据库是否存在:

  • 如果不存在,说明Laravel还没创建库,执行sail artisan migrate完成数据库初始化
  • 如果存在,继续下一步

4. Sequel Pro连接后显式切换数据库

如果登录时没指定数据库,登录后:

  • 左侧面板点击「添加数据库」,输入organiser并确认
  • 或者在查询面板执行USE organiser;,然后刷新左侧列表就能看到表了
  • 也可以在Sequel Pro连接设置里直接填写「数据库」字段为organiser,登录后直接进入目标库

5. 适配MySQL 8.0认证插件(针对旧版Sequel Pro)

如果Sequel Pro版本较老,可能不支持MySQL 8.0默认的caching_sha2_password认证插件,需要修改root用户的认证方式:
进入容器MySQL后执行:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的DB_PASSWORD';
FLUSH PRIVILEGES;

内容的提问来源于stack exchange,提问作者rsax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:15:28