Backing up, importing, and exporting a database
Export your database to an SQL file for safe-keeping, import an existing dump, and move a database between servers or hosts.
A database backup is a plain SQL file — a text dump of every table and row that can rebuild the database anywhere. This guide covers exporting one for safe-keeping, importing an existing dump, and moving a database between servers. If you haven't created a database yet, start with Creating and connecting to a MySQL database.
Why back up a database separately
Your server's normal file backups capture the game files, but a plugin's or app's live database is best captured as its own SQL dump — especially before a major plugin update, a data migration, or a server move. It's small, portable, and restores in seconds.
Export (dump) a database
With the built-in manager
- Open your server, go to the Databases tab, and open the manage view for the database.
- Use the Export option to download a
.sqlfile of the whole database.
With an external client
Connect with HeidiSQL or DBeaver using the credentials from the Databases tab, then use its Export / Dump feature to save a .sql file. Choose "structure + data" to capture everything.
Keep the .sql file somewhere safe on your own computer — that's your restore point.
Import (restore) a database
Importing runs the SQL file against a database, recreating its tables and data. Import into an empty database — importing over existing tables can clash or duplicate data.
- On the Databases tab, create a fresh database (or empty the target one first).
- In the manager or your external client, choose Import / Run SQL file and select your
.sqldump. - Wait for it to finish — large dumps take a moment.
- Point your plugin/app config at the database and restart the server.
Big files: the browser-based manager can struggle with very large dumps. For anything over a few dozen MB, import with an external client (HeidiSQL/DBeaver) instead — it's far more reliable.
Move a database to another server
To migrate data (for example when splitting or moving a server):
- Export the source database to a
.sqlfile. - Create a new, empty database on the destination server (Databases tab).
- Import the
.sqlfile into it. - Update the plugin/app config with the new host, database name, username, and password, then restart.
The credentials always change between databases, so never reuse the old connection string — copy the new one fresh from the destination's Databases tab.
Common issues
- "Access denied" on import: you're using the old credentials — use the ones shown for the target database.
- "Table already exists" / duplicate errors: you imported into a non-empty database — drop the tables or use a fresh database and re-import.
- Import times out in the browser: the dump is too large for the web manager — use an external client.
- Data imported but the plugin doesn't see it: the config still points at the old database, or you didn't restart the server.
Tips
- Dump before every risky change — a plugin update, a schema migration, a server move.
- Automate it where the plugin supports scheduled DB exports, or take a manual dump on a routine.
- Keep at least one off-server copy of important dumps — a file on your own machine survives anything that happens to the server.