如何使用外部数据库浏览器或类似工具访问 ddev 的数据库?

How can I access ddev's database with external database browsers or similar tools?

据我所知,DDEV 为 phpMyAdmin 提供配置选项,以便轻松地使用容器化 MySQL/MariaDB 数据库。但我宁愿使用不同的工具,例如phpStorm 或 DBeaver 等。有什么办法可以实现我的愿望吗?

Supplementing the docker-compose configuration 我相应地暴露了端口 3306。

version: '3.6'

services:
  web:
    ports:
      - 3306:3306

尝试从我的客户端主机连接到容器化的 MariaDB 数据库如下所示。

$ mariadb --host=foo.ddev.site --user=db --password=db --database=db
ERROR 2013 (HY000): Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 11

数据库端口已经暴露在 ddev 中,因此可以很容易地与很多很多外部工具一起使用。

例如,ddev mysql可以直接访问,还有ddev sequelproddev sequelaceddev tableplus,自定义命令中有一个示例显示如何使用 mysqlworkbench 来完成(参见 ~/.ddev/commands/host/mysqlworkbench.example)。

所有这些都抓住了已经公开的数据库端口。

ddev describe 在任何项目上告诉您如何访问该端口。

项目的 .ddev/config.yaml 中的 host_db_port 设置可用于锁定暴露的端口,以便您可以轻松地将其与 PhpStorm 一起使用。

本文还介绍了使用 ddev 访问数据库的多种方式中的一部分,https://ddevhq.org/ddev-local/ddev-local-database-management/