教你如何处理阿里云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默认的服务端口。
然后大功告成, 试试能否远程访问吧。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。