Minecraft Plugin Database: SQLite or MySQL (2026)

SQLite or MySQL for your Minecraft plugin? Paper already ships the SQLite driver, MySQL only pays off with several servers, and 75.1% of servers fall into the offline UUID trap. Real Java code.

SQLite for a single server, no matter the player count: its JDBC driver already ships with Paper, so there is no dependency to add. MySQL only when several servers must share the same data, because a SQLite file cannot take two processes writing to it.

Questions fréquentes

Should a Minecraft plugin use SQLite or MySQL?

SQLite for a single server, no matter the player count: its JDBC driver already ships with Paper, so there is no dependency to add. MySQL only when several servers must share the same data, because a SQLite file cannot take two processes writing to it.

Why is a player UUID a dangerous primary key?

Because 75.1% of servers run in offline mode, and in that mode the UUID is derived from the player name. If the player renames, or if the server ever switches to online mode, the key changes and every row attached to it is orphaned.

Can a database query drop the TPS?

Yes. The main thread runs the game loop, so any query issued on it freezes the whole server until the answer comes back. Read and write from an async thread, keep hot values in memory, and only hop back to the game thread to touch the server API.

https://minax.fun/blog/minecraft-plugin-database