美文网首页我爱编程后台技术
阿里云服务器MYSQL数据库开启远程访问

阿里云服务器MYSQL数据库开启远程访问

作者: 梁朋举 | 来源:发表于2018-04-16 10:34 被阅读2216次

    配置mysql的root用户访问权限

    1. 命令行登录 mysql,输入用户名,密码
    # mysql -u root -p
    

    2.切换到 mysql库

    use mysql;
    

    3.查看用户表,可以看到当前host是localhost,只允许本地访问

    mysql> select host,user from user;
    +-----------+------------------+
    | host      | user             |
    +-----------+------------------+
    | localhost | root             |
    +-----------+------------------+
    1 rows in set (0.00 sec)
    

    4.更新user用户表

    mysql> update user set `host` = '%'  where `user` = 'root'  LIMIT 1;
    

    5.分配所有访问权限,如果已分配过,该步骤可跳过

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;
    

    6.强制刷新权限

    mysql> flush privileges;
    

    7.再次查看用户表,root用户的host变成%,即允许所有的ip远程访问,如果需要指定具体的ip,就写上具体的ip即可

    mysql> select host,user from user;
    +-----------+------------------+
    | Host      | User             |
    +-----------+------------------+
    | %         | root             |
    +-----------+------------------+
    1 rows in set (0.00 sec)
    

    修改mysql配置文件my.cnf

    1.使用命令netstat -an|grep 3306 查看端口监听状态如下所示,绑定了127.0.0.1,只允许本地访问,需要修改配置文件:

    # netstat -an|grep 3306
    tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN 
    

    2.修改my.cnf,注释掉bind-address 127.0.0.1属性,修改后如下图所示

    注释掉bind-address

    3.重启mysql服务service mysql restart,再次使用命令netstat -an|grep 3306查看端口监听状态

    # netstat -an|grep 3306
    tcp        0      0 127.0.0.1:55074         127.0.0.1:3306          TIME_WAIT  
    tcp6       0      0 :::3306                 :::*                    LISTEN
    

    配置阿里云安全组规则

    登录阿里云进入控制台,依次访问网络和安全->安全组->配置规则,在入方向上开放MySQL监听端口3306即可,如下所示

    开放mysql的3306端口

    到此,阿里云服务器的MYSQL数据库远程访问开启成功,使用客户端测试连接成功。

    相关文章

      网友评论

        本文标题:阿里云服务器MYSQL数据库开启远程访问

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