本地mongo 连接远程数据库_Linux下解决无法远程连接数据库问题

本文详细记录了解决Ubuntu 16.04环境下通过mysqlworkbench连接远程MySQL时遇到的无法连接问题的过程,包括网络问题、密码验证、权限设置、防火墙调整等,并强调了问题解决的思路和反思。
摘要由CSDN通过智能技术生成

37cd52e56fe24fa474d487a6ab9781f4.png

起因

今天在ubuntu16.04环境下通过mysql workbench访问远程数据库时,发现无法连接问题,解决思路及方法记录如下,不足之处,请多指教。

问题

通过workbench输入密码访问时报这个错:

7a90bec93753193cb11bd16d559bd795.png

思路

  1. 网络问题,更换网络之后重启workbench和MySQL服务进行连接,依旧是这个错。
  2. 密码错误,通过ssh远程登录服务器查看远程mysql的password,发现所填密码正确。
  3. 远程mysql没有访问权限,一般有两种方法: 改表法 和 授权法 :

授权法:

第一步:尝试打开 /etc/mysql/my.cnf 配置文件,若文件不存在或者内容为空,则打开下面的文件路径:

sudo vim /etc/mysql/my.cnf

//或:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

第二步:在文件中查找下面一行,如果该行前没有加 # ,可在该行前添加#进行注释,保存退出。

bb6e1746bd5ab0ab5354dd2363375ec4.png

改表法:

b867a1f13d1821a3ddb6dad6d8f6468c.png

两种方法我尝试了一下,错误类型变成了:

Can't connect to MySQL server on ...

看到这个错误我想到了远程服务器防火墙的原因,于是我有了下面的思路:

4. 远程ubuntu服务器的防火墙原因导致无法本地访问远程的 3306 端口

sudo ufw disable //关闭防火墙,该命令需在root权限下执行,慎用

再次通过workbench连接远程mysql,连接成功。

原因

我的本地无法连接远程是因为远程ubuntu服务器防火墙默认禁止外部访问3306端口。

做法

sudo ufw enable //开启防火墙

sudo ufw allow 3306 //允许外部访问3306端口

总结

1. 一般的无法连接远程mysql问题是由上面四个愿意导致的,这里不做赘述。

2. 在遇到一个问题时首先要做的不是立刻找做法解决这个问题,而应该是思考为什么会出现这个问题,产生这个问题的原因,做到对症下药。

3. 自己还有很多不足,戒骄戒躁才能进步。

附赠

Ubuntu常用 ufw防火墙命令

74f3dac0f64da2e5dfce51ba997f6a31.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值