外网访问mysql

Table of Contents

    我的mysql部署在云服务器上,系统是Centos7。

    1. 首先,登录云服务提供商的控制台,在服务器的安全组规则中添加入站规则(允许tcp:3306,来源是0.0.0.0/0)

    2. 开放防火墙端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload
    
    1. mysql设置
    vi /etc/my.cnf
    

    在[mysqld]下面添加:

    #bind-address=127.0.0.1
    #skip-networking
    

    重新启动mysql

    systemctl restart mysqld
    

    进入mysql命令行操作界面,给用户授权:

    mysql -u root -p
    mysql> USE mysql;
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;    
    mysql> FLUSH PRIVILEGES;     
    mysql> exit
    

    USERNAME和PASSWORD替换成你自己的用户名密码

    经过以上操作应该就可以了。