Mysql add user for remote access

To add mysql user with remote access to the database you have to:

  • bind mysql service to external IP address on the server
  • add mysql user for remote connection
  • grant user permissions to access the database

In order to connect remotely you have to have MySQL bind port 3306 to your server’s external IP.

Edit my.cnf:

#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx

Restart mysql as you change config. If you don’t have firewall enabled, you should have access to mysql service from external clients now.

Now you have to have created the user in both localhost and ‘%’ wildcard and grant permissions on all DB’s as such . Open mysql and run commands:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

Then

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

This will let myuser access all databases from server as well from external sources. Depending on your OS you may have to open port 3306 to allow remote connections. If it’s your case – look for firewall (iptables in Linux OSes) configuration

Leave a Reply

Your email address will not be published. Required fields are marked *