Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save megclaypool/9410b8fa89aa194324f605d521c9bd0c to your computer and use it in GitHub Desktop.
Save megclaypool/9410b8fa89aa194324f605d521c9bd0c to your computer and use it in GitHub Desktop.

Database GUIs

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 🤷🏽‍♀️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment