Skip to content

Flat files vs MySQL: how plugins store your data

Databases

In Databases Updated October 17, 2026

Plugins keep your server's data in one of two shapes: files in their own folders, or tables on a separate database server. The plugin's docs decide which, and the choice decides nothing else about your day: most servers never think about it.

Shape one: flat files

Most plugins store their data in small files inside their own folder, which usually sits under plugins/<plugin name> . The data is just files: it lives in your server's file tree, it opens in the file manager, and it moves when your setup moves.

What that shape buys you:

  • Portability: copy the folder along with your world, and the data rides along.
  • Zero setup: no host, no port, no credentials; the plugin writes its own files and manages them from there.
  • Visibility: the files sit where you can see them, and many are plain text you can open and read in the file manager.

For most servers, this shape is the whole story. The plugin's folder fills with its own files, the server runs, and the topic never comes up.

Shape two: a MySQL database

The other shape keeps records as tables on a separate database server, reached over the network with credentials: host, port, database name, user, password. This is the shape for structured lookups: when a plugin asks pointed questions about many records, again and again, a database engine answers those on its own terms instead of reading a file top to bottom.

The setup cost is real, and it is honest to name it. A database has to exist somewhere; the plugin's config needs the exact five values to reach it; and those values come from whoever runs the database, which is a provider you choose, not your hosting panel. None of that happens by itself, and none of it is on your server's disk by default.

The middle ground: SQLite

Between "files in the folder" and "a server over the network" sits SQLite: an embedded database that lives in a single file inside the plugin's own folder. The plugin gets table storage without a separate server, and you get table storage with nothing to configure. It is the common default, and its page sits in Related reading.

The decision rule

The plugin's own docs govern; read them before anything else. Most plugins default to files and work fine on any plan. A plugin asks for MySQL when its data shape needs it, and when it does, its documentation names it and shows the config block. If the docs do not mention a database, do not add one: the plugin is storing its own way, and there is nothing to set up.

We do not sell database hosting: when a plugin needs an external database, you bring your own from a provider you choose.

Related reading: SQLite: the database your plugins already use .

Not sure which shape a plugin in your folder is using: open a ticket from your account with the plugin's name, and a person answers.