Devpilot
Servers

Database Management

Create MySQL databases, manage users and privileges, configure remote access, and integrate with phpMyAdmin.

Database Management

Devpilot provides first-class database management from the server dashboard. Today, the database manager targets MySQL (and compatible engines like MariaDB) and lets you create databases, manage users and their privileges, configure remote access, and open phpMyAdmin for visual administration.

Accessing the Database Panel

Navigate to Servers, select a server, and open the Databases tab. You'll see all databases Devpilot manages on that server, along with controls for creating new databases and editing users.

Creating a Database

Open the create dialog

Click Create Database in the Databases toolbar.

Enter the database name

Use lowercase letters, numbers, and underscores. Database names must be unique on the server.

Assign or create a user

You can either attach an existing database user or create a new one. When you create a new user, you provide a username and a strong password, and Devpilot stores the encrypted password in the database user record.

A primary user is marked for each database. That user owns the database in terms of default access.

Confirm and create

Click Create. Devpilot provisions the database on your server, records it in the databases registry with engine, port, location, and size, and lists it in the UI.

Database Users and Privileges

Each database can have one or more users. Each user has:

  • Username
  • Password — the stored password (encrypted at rest).
  • Host — the host mask the user can connect from (for example localhost, a specific IP, or % for any).
  • Primary — whether this is the owning user for the database.

Privileges are granular. Each granted privilege (for example SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX) can be applied at the database level or scoped to a single table. The UI exposes presets plus a custom mode:

PresetWhat it grants
All PrivilegesFull access including schema changes. Suitable for application service accounts that need to run migrations.
Read OnlyOnly SELECT. Good for reporting tools and analytics.
Read & WriteSELECT, INSERT, UPDATE, DELETE — data access without schema changes.
CustomToggle individual privileges on or off, with optional per-table scoping.

Changes take effect immediately against the running database.

Updating Passwords

To rotate a user's password, select the user and click Change Password. Enter the new password and confirm.

After rotating a password, update every application, cron job, and script that connects as that user. Missed callers start failing at their next connection. Roll out the change during a window where you can verify everything reconnects.

Remote Access

By default, MySQL users in Devpilot are created with host = 'localhost' — meaning only applications on the same server can connect. To allow connections from outside the server, you typically need to do both of:

  1. Create or update a user with a broader host value. Use a specific IP or CIDR for your application server, not %, unless you're intentionally exposing the database for development.
  2. Open the database port on the server firewall from the Security tab. MySQL defaults to TCP port 3306.

Once you've opened remote access, clients like MySQL Workbench, TablePlus, DBeaver, or your own application connect with:

  • Host — the server's public IP.
  • Port — the database port (3306 for MySQL/MariaDB).
  • Database — the database name.
  • Username / Password — the user you configured.

Setting a user's host to % exposes the database to any address that can reach the port. Combine it with a tight firewall rule, strong passwords, and TLS if possible. Prefer per-IP hosts for production.

Database Backups

Devpilot tracks backups per database, including filename, storage path, size, and status. You can take an on-demand backup from the UI and the resulting SQL dump is stored on the server (and optionally uploaded to a remote destination via the Backup system). Each database also shows a Last backup timestamp so you can see freshness at a glance.

For full backup plans with retention, multiple destinations, and real-time protection, see Backups.

phpMyAdmin Integration

phpMyAdmin is available in the App Store catalog for servers running MySQL or MariaDB. Install it from there, and Devpilot provides a single-click path from the database panel into the phpMyAdmin UI for browsing tables, running queries, and importing/exporting data.

Expose phpMyAdmin carefully — only over HTTPS, behind a firewall rule restricted to trusted IPs, or behind a reverse proxy with authentication. It is a common target for automated scanning.

Editing and Deleting

  • Edit — Rename a database, add notes, or adjust auto-backup settings.
  • Delete — Devpilot asks you to confirm by typing the database name. Deletion is permanent and removes all tables and data.

Deleting a database is irreversible. Take a backup first if there's any chance you'll need the data again.

What the Database Panel Doesn't Do

  • Multi-engine management. Today the database panel is built around MySQL. PostgreSQL, MongoDB, and other engines are available as App Store installs, but they aren't managed through this panel — use the Terminal or engine-native tooling for administration.
  • DNS, load balancers. Network exposure is controlled by firewall rules and your cloud provider's networking, not by Devpilot-level DNS.

Next Steps

  • File Manager — Browse files on your server, including downloaded SQL dumps.
  • Web Terminal — Use mysql, psql, or mongosh to operate on engines outside the database panel.
  • Backups — Configure automated backup plans with retention and remote storage.