At the release of version 2.0.1, CyberPanel asked it's users to vote the most need feature and the overwhelming majority voted for the option to use Remote SQL server in CyberPanel. In 2.0.2, remote SQL has been added. This feature is best intended for the people who want to host the database separately from the webserver. If you choose this option during installation, then:

  1. CyberPanel database (which hosts all information about CyberPanel) will be created remotely and not locally.
  2. Any database you create on CyberPanel will also be created there, so make sure in your applications you use the right hostname.

In this guide, we will see the step by step procedure to configure a remote MySQL/MariaDB server.

1. Setting up a remote MariaDB server

1.1 Using Remotely-hosted database service

In case you are using Amazon's RDS or Google's Cloud SQL or Azure's SQL services, you need to make sure that your SQL user has the permission to create new databases. Once that is confirmed, please make sure you have the following information and skip to step 2

1.2 Installing and configuring remote MariaDB for CyberPanel

Login to your clean server that you want to use for hosting your database.

1.2.1 Adding latest MariaDB repository

Run the following command to add the latest version of MariaDB repo to your Linux system irrespective of your OS

sh <(curl || wget -O -
1.2.2 Installing latest MariaDB

For Ubuntu 18/20 use the following command

apt install mariadb-server mariadb-client

For Centos 7

yum install mariadb-server mariadb-client

For Centos 8

dnf install mariadb-server mariadb-client
1.2.3 Securing the installation and allowing remote root login

After the installation is complete, please enable MariaDB so it starts with bootup using the following command

systemctl enable mariadb

Run the following command to secure the installation

sudo mysql_secure_installation

Please set a root password, remove the anonymous account, remove the test database but don't disallow remote root access.

1.2.4 Binding MariaDB to the main server

Edit /etc/my.cnf  or included configuration files from a sub-directory and change the line with starting with keyword bind to this

1.2.5 Allow firewall access

Add a firewall rule to allow access to port 3306 from your main server's IP.

1.2.6 Testing the installation

Login to your main server ( the server where CyberPanel is to be installed ) and run the following command

mysql -u user_name -h mysql_server_ip -p

Enter the password you selected and it should log you into remote MariaDB installation

2. Installing CyberPanel with remote SQL

Run the installation command here


Now you will be presented with an option on whether you want to install Cyberpanel with Remote MySQL or not, please select Yes by entering Y.

Enter all the details you received or set up in the first part of this tutorial

Continue the installer and it will install CyberPanel with remote MySQL, and all the databases for the websites will be hosted remotely too.

In less than 20 minutes, CyberPanel will be installed on a remote database server.



CyberPanel v1.7.7 and above gives you ability optimize and view MySQL status via platform. Register your self on cloud platform if you haven't already, once registered you need to connect your server from here (Make sure you are on version 1.7.7 or above, you can visit upgrade instructions)

MySQL Status

Once your server is connected to platform, visit<Server Name>/status

Replace server name with name of your server in Cloud Platform. You will see something like:

MySQL Optimization

Platform will try to generate recommended configurations depending on detected server ram. Visit:<Server Name>/optmizeMySQL

Replace server name with name of your server in Cloud Platform. Once there click Generate Recommendations. This will generate recommended settings, if you are sure or want to do any custom modifications you can do here, once sure click Apply Changes.

Apply changes will only put new configurations in your my.cnf file, you need to click Restart MySQL to apply these changes. Old configurations will is backed to my.cnf.bak (in case you want to revert to old file).