阿里云ECS下安装的MySQL无法远程连接?

十年热恋 提交于 2019-11-30 02:36:52

场景重现

在阿里云ECS下, Ubuntu系统上通过以下命令安装的MySQL数据库, 本地连接正常, 但远程死活连接不上.

# 安装MySQL
apt-get install mysql-server

解决办法

主要有以下几点:

  1. 用户root默认受限为本地可访问(localhost), 远程拒绝(出于安全考虑吧)
    但是这个我们可以修改的, 在本地用root 登录后, 修改对应的表字段值即可. 这里需要注意的是MySQL安装完成后, 自带了一个mysql数据库, 里面有个user表, 就是存放此类信息的.
    我们用sql命令即可完成修改:
    -- 用户root对应的主机改为任意主机.
    update user set host='%' where user='root' and host='localhost';
    
    -- 然后重启MySQL服务, 使配置生效
    /etc/init.d/mysql restart
    
    -- 当然如果嫌重启麻烦, 也可以直接刷新(~~这单词太难记, 不喜欢用~~)
    flush privileges;
    
    修改好了用户本身的限制, 但是远程还是不能访问.
  2. MySQL本身配置项的问题
    在MySQL配置文件/etc/mysql/my.cnf中,
    找到地址绑定配置bind-address = 127.0.0.1, 注释掉或改为bind-address = 0.0.0.0即可.

    mysql-server-5.7 版本中配置文件结构有所变化,修改该配置需要在/etc/mysql/mysql.conf.d/mysqld.cnf文件中.

  3. 阿里云服务器的的安全规则中开启3306的入站规则3306是MySQL默认的服务端口.

然后大功告成, 试试能否远程访问吧.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!