MythicalSystems
Extra

Setting up MySQL

Learn how to set up MySQL/MariaDB for FeatherPanel and FeatherWings.

MySQL (or MariaDB) is a core component of FeatherPanel. This guide will walk you through setting up users, databases, and permissions for both the panel and your nodes.

Prerequisites

This guide assumes you have already installed MySQL or MariaDB on your server.

Logging In

First, log in to the MySQL command line interface using the root account.

# If using MariaDB
mariadb -u root -p

# If using MySQL
mysql -u root -p

Enter your root password when prompted.


Node Database Host Setup

If you want FeatherPanel to be able to create databases for your game servers automatically, you need to set up a Database Host.

Important

This setup requires allowing external connections if your Node and Panel are on different servers.

1. Create a Superuser

This user needs permissions to create other users and databases.

-- Replace 'your_super_password' with a unique strong password
CREATE USER 'featherworker'@'127.0.0.1' IDENTIFIED BY 'your_super_password';

External Nodes

If your Panel is on a different server than this database, replace 127.0.0.1 in the command above with the IP address of the Panel.

If you want to allow connections from anywhere (useful for dynamic IPs, but less secure), you can use % instead of an IP address:

CREATE USER 'featherworker'@'%' IDENTIFIED BY 'your_super_password';

2. Grant Global Permissions

Grant this user the ability to manage all databases.

If you used a specific IP:

GRANT ALL PRIVILEGES ON *.* TO 'featherworker'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;

If you used % (any IP):

GRANT ALL PRIVILEGES ON *.* TO 'featherworker'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Allowing External Access

If your game servers need to connect to this database from outside (or if your Panel connects remotely), you must configure MySQL/MariaDB to listen on all interfaces, not just localhost.

Edit Configuration

Depending on your installation, the configuration file is located in one of these paths:

  • MariaDB: /etc/mysql/mariadb.conf.d/50-server.cnf
  • MySQL: /etc/mysql/mysql.conf.d/mysqld.cnf or /etc/mysql/my.cnf
  1. Open the file for editing (example for MariaDB):

    nano /etc/mysql/mariadb.conf.d/50-server.cnf
    # OR for MySQL
    nano /etc/mysql/my.cnf
  2. Find the line starting with bind-address.

  3. Change it to 0.0.0.0 to allow connections from any IP.

    [mysqld]
    bind-address = 0.0.0.0
  4. Save the file (Ctrl+X, then Y, then Enter).

Restart Service

Apply the changes by restarting the service.

systemctl restart mariadb
# OR
systemctl restart mysql

Firewall

Don't forget to allow port 3306 through your firewall (UFW, iptables, or your hosting provider's firewall) if you are allowing external connections!

On this page

LIVE SERVICE

MythicalFM Romanian

Listen to Romanian Club Music

Open Player