Remote MySQL Access
How do I grant remote MySQL access to Backend Admin?
The type of hosting your application has will effect the way Backend accesses your MySQL database. Some will not need to make any changes. Those using cPanel will only need to add our IP address. Others using shared hosts on closed networks can use our simple API script. Those competent using Linux with root SSH access can grant Backend permission to administer the database using remote hosting. Following are the main types and solutions:
1) Shared hosting without cPanel.
2) Virtual Private Server (VPS) / dedicated server with a control panel like cPanel, or Virtualmin.
3) VPS or Dedicated Server and no control panel which you access via SSH.
Shared hosts without cPanel:
Some shared hosting companies will block all MySQL access (ports 3306) to the outside world and they will only allow you to log into your MySQL database using 'localhost' in which case you will need to use our http tunnel API script which will allow you to use Backend to administer your application. This is a little script that you will place on your server which Backend then interacts with. You can download this API here.
Other shared hosing companies will provide you with a database host login similar to 'mysql.yourdomian.com' (not 'localhost'), in which case you may NOT need to do anything special to grant specific access to Backend. Therefore on the sign up form simply try entering the login details you normally use to access your MySQL database.
Hosts using control panels like cPanel & Virtualmin:
cPanel: Login to cPanel and click MySQL databases, & open Remote MySQL, then enter our IP address: 126.96.36.199 & click Add Host.
Virtualmin: Login to Virtualmin select the virtual host, then click on Edit Databases, then Remote hosts and add our IP address: 188.8.131.52 & Save.
Cravat: with Virtualmin it may also be necessary to edit your MySQL configuration file called my.cnf and comment out the bind-address setting as explained below!
Now on our sign up form you can enter the database login details of your servers IP for the host, the database name, username and password, then you will be able to administer your application via Backend Admin Management system.
VPS / dedicated hosting with root access via SSH:
This information is provided without warranty for advanced developers who are competent using SSH and have a working knowledge of Linux, MySQL & Apache who wish to allow Backend to access the MySQL database using remote hosting. I am assuming you are logging in as root in these examples, otherwise you will need to prefix some of the commands with sudo.
Login to your server, open the file: my.cnf
* If you are using Debian/Ubuntu Linux this file is located at /etc/mysql/my.cnf
* If you are using Red Hat Linux/Fedora/Centos Linux this file is located at /etc/my.cnf
* If you are using FreeBSD you need to create a file /var/db/mysql/my.cnf
now open the file:
Find the bind-address and skip-networking under [mysqld], then comment these out with '#' as follows:
# bind-address = 127.0.0.1
Then exit, save and restart MySQL:
Now log in to mysql:
mysql -u root -p
Now you grant Backend access to your database using the following (change the values of dbname to the name of your database and give this new user backend a new unique & strong password yourpass ):
GRANT SELECT, INSERT, DELETE, UPDATE ON dbname.* TO 'backend'@'184.108.40.206' IDENTIFIED BY 'yourpass';
Make it active:
Now you should be able log into your database from Backend and administer your application using your new MySQL username: backend and the password you set above for the new user backend.
Cravat: if your server has its firewall blocking all traffic to the outside, it may be necessary to make a rule in your iptables firewall to grant access to Backend on port 3306.