美文网首页
允许远程登录 MySQL

允许远程登录 MySQL

作者: 字母数字或汉字 | 来源:发表于2016-07-28 15:40 被阅读59次

    默认 MySQL 有两项措施保证你不能远程登录:

    1. /etc/mysql/my.cnf 文件中的 bind-address = 127.0.0.1
    2. root 用户域为 localhost

    我们要分别解决这两个问题。

    首先,注释掉配置文件里的 bind-address 行,保存,重启 MySQL。

    $ sudo vi /etc/mysql/my.cnf
    $ service mysql restart
    

    这样我们就解除了配置文件的安全保护。

    然后,登录 MySQL 的 root 用户,创建新用户,使用远程域(这里使用全网 %),分配数据库权限。

    $ mysql -uroot -p
    
    # 新建用户,使用 % 域
    mysql> CREATE USER 'xp'@'%' IDENTIFIED BY 'password';
    # 分配 数据库.表 的完全权限,允许该用户再授权其他用户其拥有的权限
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'xp'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    # 使授权即时生效
    mysql> FLUSH PRIVILEGES;
    

    这样我们就配置好了 MySQL 服务器,在没有被防火墙拦截 3306 端口流量的前提下就能够远程登录了。

    我所使用的 Ubuntu Server 需要对 ufw(iptables) 防火墙做配置:

    $ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
    $ sudo iptables -t nat -L
    

    $ sudo ufw allow 3306
    

    如果使用 AWS 还需注意在控制台允许流量出入。

    相关文章

      网友评论

          本文标题:允许远程登录 MySQL

          本文链接:https://www.haomeiwen.com/subject/ejwojttx.html