Database Setup Guide
Many Minecraft plugins require a MySQL database to store data persistently. This guide shows you how to create and manage databases on your Birdflop server.What is a MySQL Database?
A MySQL database is a structured data storage system that plugins use to:- Store player data persistently
- Share data between multiple servers
- Keep data safe from server crashes
- Enable advanced features like leaderboards
Databases are particularly useful for network setups where multiple servers need to share player data.
Common Plugins that Use Databases
Economy Plugins
- Vault (with economy plugins)
- EssentialsX (optional)
- PlayerPoints
Permission Plugins
- LuckPerms (recommended)
- PermissionsEx
- GroupManager
Protection Plugins
- CoreProtect
- GriefPrevention
- Lands
Other Popular Plugins
- Plan (analytics)
- AdvancedBan
- Jobs Reborn
- mcMMO
Creating a Database
Navigate to Databases Tab
Log in to your server panel at
https://client.birdflop.com and click the Databases tab.Create New Database
Click the Create Database button.You’ll see:
- Database Name: Auto-generated (e.g.,
s12_database_name) - Connections From: Set to
%(allow all)
The
s12_ prefix is your server identifier and is automatically added.Enter Database Name
Type a descriptive name for your database:Examples:
luckperms- for LuckPerms plugincoreprotect- for CoreProtect pluginmaindata- for general server data
Database Information
After creating a database, you’ll see important connection details:Connection Details
| Field | Description | Example |
|---|---|---|
| Endpoint | Database server address | db.birdflop.com:3306 |
| Database Name | Full database name | s12_luckperms |
| Username | Database username | s12_dbuser |
| Password | Database password | Click eye icon to view |
| JDBC Connection String | Complete connection URL | jdbc:mysql://... |
Click the eye icon to reveal the password. Click again to hide it.
Copying Connection Details
Click any field to copy it to your clipboard:- Click the Endpoint field to copy the address
- Click the Database Name to copy the full name
- Click the Password field to copy the password
Configuring Plugins
Most plugins have a configuration file where you enter database details.LuckPerms Example
LuckPerms is a popular permissions plugin that benefits greatly from MySQL.Edit Configuration
Navigate to Replace the placeholders with your actual database details from the panel.
/plugins/LuckPerms/config.yml and find the storage section:CoreProtect Example
CoreProtect is a block logging and rollback plugin.- Configuration
- Why Use MySQL?
Edit Replace with your actual database details.
/plugins/CoreProtect/config.yml:General Plugin Configuration
Most plugins follow a similar pattern:Always check the plugin’s documentation for the exact configuration format required.
Managing Databases
Viewing Database Contents
You can connect to your database using external tools:- MySQL Workbench
- phpMyAdmin
- Command Line
MySQL Workbench is a free GUI tool for managing databases.
- Download from mysql.com/products/workbench
- Open MySQL Workbench
- Click + to create a new connection
- Enter your connection details:
- Connection Name: Birdflop Server
- Hostname:
db.birdflop.com - Port:
3306 - Username: Your database username
- Password: Click “Store in Keychain” and enter password
- Click Test Connection
- Click OK to save
Deleting Databases
Backup Data (Recommended)
Export the database using MySQL Workbench or create a server backup first.
Rotating Passwords
If you need to change your database password:Create New Database
Create a new database with the same name.A new password will be automatically generated.
There’s currently no way to rotate passwords without recreating the database.
Database Limits
Default Limits
- Maximum Databases: 3 per server
- Database Size: No hard limit, but monitored for abuse
- Connections: Up to 10 simultaneous connections per database
If you need more than 3 databases, contact support to discuss your use case.
Performance Considerations
Connection Pooling
Plugins should use connection pooling to reuse connections rather than creating new ones for every query.Most modern plugins handle this automatically.
Query Optimization
Poorly optimized queries can slow down your server.Monitor slow queries and optimize plugin configurations.
Troubleshooting
Plugin can't connect to database
Plugin can't connect to database
Common causes:These messages indicate the specific issue.
- Wrong credentials: Double-check host, database name, username, and password
- Typos in config: Verify spelling and formatting
- Missing quotes: Wrap password in single quotes
- Wrong port: Should be
3306 - Plugin not started: Check if plugin loaded successfully
Data not saving to database
Data not saving to database
Troubleshooting steps:
- Verify plugin is using MySQL (check config)
- Check console for database errors
- Test connection with MySQL Workbench
- Verify tables were created (check with Workbench)
- Check plugin permissions and settings
Some plugins require a server restart after enabling MySQL for changes to take effect.
Connection pool errors
Connection pool errors
If you see errors about connection pool exhaustion:Solutions:
- Increase
maximum-pool-sizein plugin config - Reduce
connection-timeoutif set too high - Check for slow queries causing connections to hang
- Restart the plugin to reset connections
Database is full or slow
Database is full or slow
Optimization steps:This removes data older than 30 days.
- Check database size using MySQL Workbench
- Remove old data: Many plugins have cleanup commands
- Optimize tables: Run
OPTIMIZE TABLEon large tables - Review indexes: Ensure proper indexes exist
- Purge logs: Plugins like CoreProtect can purge old logs
Multi-Server Setups
Databases are especially powerful for networks with multiple servers:Shared Permission System
Configure All Servers
Configure LuckPerms on every server to use the same database.All servers will share permissions, groups, and user data.
With a shared database, changes made on one server instantly apply to all servers in your network.
Shared Economy System
Use a single database for economy plugins to share balances:Best Practices
Backup Regularly
Export database backups regularly using MySQL Workbench or automated scripts.
Monitor Size
Check database size periodically and purge old data when needed.
Use Strong Passwords
Database passwords are auto-generated and secure. Never share them publicly.
Document Setup
Keep notes on which plugins use which databases for easier troubleshooting.
Advanced Topics
JDBC Connection Strings
Some plugins require a JDBC connection string instead of individual fields:SSL Connections
SSL is not required for database connections as they occur within Birdflop’s internal network.
Character Encoding
Always use UTF-8 encoding for proper handling of special characters:Getting Help
Need Database Help?
Join our Discord community for assistance with:
- Database connection issues
- Plugin configuration help
- Performance optimization
- Multi-server setup guidance
When asking for help, include:
- Plugin name and version
- Relevant config sections
- Console errors (if any)
- What you’ve already tried