教你如何处理阿里云ECS服务器下安装MySQL无法远程连接的问题

场景重现

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

# 安装MySQL
apt-get install mysql-server

解决办法

主要有以下几点:

  • 用户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;

修改好了用户本身的限制,但是远程还是不能访问。

  • 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文件中。

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

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

场景重现

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

# 安装MySQL
apt-get install mysql-server

解决办法

主要有以下几点:

  • 用户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;

修改好了用户本身的限制,但是远程还是不能访问。

  • 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文件中。

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

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

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。


数据运维技术 » 教你如何处理阿里云ECS服务器下安装MySQL无法远程连接的问题