How to grant remote access permissions to mysql server for user? How to grant remote access permissions to mysql server for user? mysql mysql

How to grant remote access permissions to mysql server for user?


This grants root access with the same password from any machine in *.example.com:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%.example.com'     IDENTIFIED BY 'some_characters'     WITH GRANT OPTION;FLUSH PRIVILEGES;

If name resolution is not going to work, you may also grant access by IP or subnet:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%'    IDENTIFIED BY 'some_characters'      WITH GRANT OPTION;FLUSH PRIVILEGES;

MySQL GRANT syntax docs.


Try:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Pa55w0rd' WITH GRANT OPTION;


You need to take some steps to make sure first mysql and then root user is accessible from outside:

  1. Disable skip-networking in my.cnf (i.e: /etc/mysql/my.cnf)

  2. Check value of bind-address in my.cnf, if it's set to 127.0.0.1, you can change it to 0.0.0.0 to allow access from all IPs or whatever ip that you want to connect from.

  3. Grant remote access the root user from any ip (or specify your ip instead of %)

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'    IDENTIFIED BY 'your_root_password'    WITH GRANT OPTION;FLUSH PRIVILEGES;
  4. Restart mysql service:

    sudo service mysql restart