起因

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

问题

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

Your connection attempt failed for user 'root' from your host to server at 118.89.153.162:3306:   Access denied for user 'root'@'118.89.153.162' (using password: YES)

思路

  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

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

bind-address = 127.0.0.1    

    

改表法:

mysql>use mysql;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION   //赋予任何主机访问以及修改所有数据的权限
//例如,你想root用户使用root从任何主机连接到mysql服务器的话。
//GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
//如果你想允许用户root从ip为192.168.1.124的主机连接到mysql服务器,并使用123456作为密码
//GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.124'IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>flush privileges //权限刷新,使修改立即生效
sudo /etc/init.d/mysql restart //或: service mysql restart  重启mysql服务

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

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防火墙命令

//安装方法
sudo apt-get install ufw//启用
sudo ufw enable
sudo ufw default deny //开启了防火墙并随系统启动同时关闭所有外部对本机的访问,本机访问外部正常。//关闭
sudo ufw disable //查看防火墙状态
sudo ufw status //开启/禁用相应端口或服务举例
sudo ufw allow 3306 //允许外部访问3306端口
sudo ufw delete allow 3306 禁止外部访问3306端口sudo ufw allow from 118.89.153.162 //允许此IP访问所有的本机端口
sudo ufw deny smtp  //禁止外部访问smtp服务
sudo ufw delete allow smtp //删除上面建立的某条规则
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22 //要拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口//推荐使用
sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny 参考博客:https://www.cnblogs.com/kluan/p/5993767.html

转载于:https://www.cnblogs.com/lishanlei/p/8933269.html

Linux下解决无法远程连接数据库问题相关推荐

  1. linux上mysql允许远程连接,linux下mysql允许远程连接

    1. MySql安装教程 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html 默认情况下mysq的 roo ...

  2. Linux下解决“shutdown: command not found“问题

    Linux下解决"shutdown: command not found"问题 参考文章: (1)Linux下解决"shutdown: command not found ...

  3. ubuntu linux下解决“no java virtual machine was found after searching the following locations:”的方法

    ubuntu linux下解决"no java virtual machine was found after searching the following locations:" ...

  4. 虚拟机Linux下解决ping时出现 unknown host问题

    虚拟机Linux下解决ping时出现 unknown host问题 参考文章: (1)虚拟机Linux下解决ping时出现 unknown host问题 (2)https://www.cnblogs. ...

  5. Linux下解决命令未找到的问题

    Linux下解决命令未找到的问题 参考文章: (1)Linux下解决命令未找到的问题 (2)https://www.cnblogs.com/mnote/p/8832806.html 备忘一下.

  6. Linux下的网络远程安装

    Linux下的网络远程安装 1.用RHEL6.5光盘安装第一台服务器 2.在第一台服务器上配置YUM服务器 先创建一个挂载 1 #mount 2 #umount /dev/cdrom 3 #mkdir ...

  7. linux能远程开机么,Linux 下如何实现远程开机

    你知道Linux下如何实现远程开机吗?下面小编就根据Linux实现远程开机的内容为大家详细介绍其实现方法,有兴趣的小伙伴们就跟随小编一起去探讨具体内容吧. Linux下实现远程开机的条件,要满足以下两 ...

  8. linux 进程 状态 ri,LINUX下解决netstat查看TIME_WAIT状态过多问题(转)

    # netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c 16 CLOSING 130 ESTABLISHED 298 FIN_WAIT1 13 FIN_WA ...

  9. LINUX下解决netstat查看TIME_WAIT状态过多问题

    LINUX下解决netstat查看TIME_WAIT状态过多问题 参考文章: (1)LINUX下解决netstat查看TIME_WAIT状态过多问题 (2)https://www.cnblogs.co ...

  10. linux下code-server离线远程web浏览器调试C++代码

    linux下code-server离线远程web浏览器调试C++代码 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 文章目录 lin ...

最新文章

  1. 想进大厂?Dubbo 普普通通 9 问你知道吗
  2. MATLAB实战系列(十八)-遗传算法解决TSP(旅行商)问题-算法原理
  3. 模板参数仅作为函数的返回值
  4. git 未能顺利结束(退出码1)
  5. Blazeface 人脸检测器
  6. Mybatis的案例和接口代理开发和模板配置
  7. MySQL学习——标识符语法和命名规则
  8. Serial Old收集器和Parallel Old收集器
  9. Linux下安装配置vsftpd
  10. 一个用于消息队列的并发式php进程管理程序-守护
  11. 数学连乘和累加运算符号_2020中考数学 初中数学有理数计算(干货)
  12. Don't Panic! KRACK 没你想象的那么糟
  13. 怎么修改PDF文件中的文字?快来学这两种方法
  14. CMYK与RGB参数转换公式及转换方法
  15. 关于猫鼻支的防范和治疗
  16. 二次型的标准型、规范型
  17. 缓冲技术之二:缓冲池BufferPool的简单实现
  18. 新手上路,请多多关照!
  19. 华为奔赴“空间智能”,全屋智能的逻辑变了吗?
  20. 羊皮卷的故事-第五章

热门文章

  1. R语言自然语言处理:文本分类
  2. QuantLib 金融计算——QauntLib 入门
  3. (二)建筑物多边形化简系列——多边形点数化简
  4. 详细说明手工创建oracle数据库实例
  5. 探讨下在Delphi里面进程之间的数据共享
  6. HTML5之语义化标签
  7. Java基础笔记-String类
  8. WebApi2官网学习记录---Media Formatters
  9. WinForm中TextBox的几个基本技巧
  10. 树莓派 之 动态DNS(DNSPod)