How to make mysql accept connections externally

前端 未结 3 1974
花落未央
花落未央 2021-01-06 13:29

I have a VPS and I want to make mysql DB accept connection externally (from my PC for instance). I have Debian Linux installed on the server. I checked some tutorials online

相关标签:
3条回答
  • 2021-01-06 13:57

    The MySQL server must be configured to accept connections externally (binding to the correct network interface as appropriate), and its firewall must be configured to allow incoming connections on that port (TCP port 3306). This may or may not already be set up when you installed MySQL (see iptables if you're on *nix).

    You must also account for this in the MySQL permissions as follows.

    Often, when setting up your MySQL permissions, you'll set user access rights only for @'localhost'. You'll need to make sure that both the user account and its granted permissions are set for the appropriate hostname or IP address you will be connecting from. For example, you could create a new authorised user with:

    GRANT ALL PRIVILEGES ON somedatabase.* TO someuser@'somehostname' IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;
    

    You have to do all of this before you can connect to that server remotely, using something like this (this example uses PHP):

    mysql_connect('mysqlservername', 'someuser', 'password');
    
    0 讨论(0)
  • 2021-01-06 14:12

    You also have to change the bind-address to the external ip of your VPS machine (ipconfig would help).

    And grant access from your PC. Connect to the database from localhost with root privilege and do:

    grant all privilege on *.* to `username`@`your-pc-id` identified by 'your-password'
    

    For more information look through MySQL grant documentation.

    0 讨论(0)
  • 2021-01-06 14:16

    You have to set bind-address to the value of your machine's external IP address instead of the localhost IP address. Don't forget to restart the MySQL service afterwards.

    Check these other answers out for more details.

    0 讨论(0)
提交回复
热议问题