[解决]连不上远程服务器的MySQL数据库, [08S01] Communications link failure. 虚拟机服务器中的mysql等
[解决]连不上远程的MySQL数据库结局方案
这个问题浪费了不少时间, 在此记录下, 之前装虚拟机的解决过一次, 但是快照还原了导致又要重新来一遍…
1. 系统防火墙导致无法连接
关闭防火墙
ubantu系统下执行下面命令
ufw stop
2. MySQL全局配置无法远程访问
用数据库连接工具提示
[08S01] Communications link failure
无法收到MySQL服务的回复包
这样基本上就是网络的问题, 根本就没有连通
2.1 打开mysqld.cnf
文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
2.2 找到bind-adress = 127.0.0.1
这行
2.3 取消本地限制
在bind-adress = 127.0.0.1
前加上#
号
2.4 重启mysql服务
service mysql restart
2.5 尝试连接
3. 用户权限无法远程访问
3.1 查询user表
# 登陆数据库后
use mysql;
select host, user from user;
3.2 修改地址权限
将需要远程登陆的用户的host修改成对应的地址
如果不做限制, host
改成通配符%
如:
update user set host = '%' where user = 'root';