If you’d like to use a GUI database client, you’ll need the right connection details and there may even be a command to launch it for you:
- phpMyAdmin, formerly built into DDEV core, can be installed by running ddev add-on get ddev/ddev-phpmyadmin.
- Adminer can be installed with ddev add-on get ddev/ddev-adminer
- The ddev describe command displays the Host: details you’ll need to connect to the db container externally, for example if you’re using an on-host database browser like SequelAce.
- macOS users can use ddev sequelace to launch the free Sequel Ace database browser, ddev tableplus to launch TablePlus, ddev querious to launch Querious, ddev dbeaver to launch DBeaver, and the obsolete Sequel Pro is also supported with ddev sequelpro. (Each must be installed for the command to exist.)
- WSL2 and Linux users can use ddev dbeaver to launch DBeaver. (Must be installed for the command to exist.)
- PhpStorm (and all JetBrains tools) have a nice database browser. (If you use the DDEV Integration plugin this is all done for you.)
- Choose a static host_db_port setting for your project. For example host_db_port: 59002 (each project’s database port should be different if you’re running more than one project at a time). Use ddev start for it to take effect.
- Use the “database” tool to create a source from “localhost”, with the proper type mysql or postgresql and the port you chose, username db + password db.
- Explore away!
- VS Code or any of its forks (Cursor, Windsurf, etc.) has DevDb, an extension that lets you access your database directly inside the editor.
- There’s a sample custom command that will run the free MySQL Workbench on macOS, Windows or Linux. To use it, run: cp ~/.ddev/commands/host/mysqlworkbench.example ~/.ddev/commands/host/mysqlworkbench ddev mysqlworkbench
I ran ddev describe
and copied the details into Sequel Pro and it opened the database right up (SSL didn't work).
⚡ ddev describe
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Project: dvc ~/Sites/dvc https://dvc.ddev.site │
│ Docker platform: colima │
│ Router: traefik │
├──────────────┬──────┬────────────────────────────────────────────────────────────────┬────────────────────┤
│ SERVICE │ STAT │ URL/PORT │ INFO │
├──────────────┼──────┼────────────────────────────────────────────────────────────────┼────────────────────┤
│ web │ OK │ https://dvc.ddev.site │ drupal10 PHP 8.3 │
│ │ │ InDocker -> Host: │ Server: nginx-fpm │
│ │ │ - web:80 -> 127.0.0.1:32778 │ Docroot: 'web' │
│ │ │ - web:443 -> 127.0.0.1:32779 │ Perf mode: mutagen │
│ │ │ - web:8025 -> 127.0.0.1:32780 │ Node.js: 22 │
├──────────────┼──────┼────────────────────────────────────────────────────────────────┼────────────────────┤
│ db │ OK │ InDocker -> Host: │ mariadb:10.4 │
│ │ │ - db:3306 -> 127.0.0.1:32777 │ User/Pass: 'db/db' │
│ │ │ │ or 'root/root' │
├──────────────┼──────┼────────────────────────────────────────────────────────────────┼────────────────────┤
│ solr │ OK │ https://dvc.ddev.site:8943 │ │
│ │ │ InDocker: │ │
│ │ │ - solr:8983 │ │
├──────────────┼──────┼────────────────────────────────────────────────────────────────┼────────────────────┤
│ Mailpit │ │ Mailpit: https://dvc.ddev.site:8026 │ │
│ │ │ Launch: ddev mailpit │ │
├──────────────┼──────┼────────────────────────────────────────────────────────────────┼────────────────────┤
│ Project URLs │ │ https://dvc.ddev.site, https://127.0.0.1:32779, │ │
│ │ │ http://dvc.ddev.site, http://127.0.0.1:32778 │ │
└──────────────┴──────┴────────────────────────────────────────────────────────────────┴────────────────────┘
So the info I needed was: Host: 127.0.0.1 Username: db Password: db Port: 32777
And if you tick the SSL box it gives you a warning but then connects without 🤷🏽♀️