Linux中无法远程连接数据库问题的解决方法
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,起因今天在ubuntu16.04环境下通过mysql workbench访问远程数据库时,发现无法连接问题,解决思路及方法记录如下,不足之处,请多指教。问题通过workbench输入密码访问时报这个错
千家信息网最后更新 2024年11月11日Linux中无法远程连接数据库问题的解决方法
起因
今天在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)
思路
- 网络问题,更换网络之后重启workbench和MySQL服务进行连接,依旧是这个错。
- 密码错误,通过ssh远程登录服务器查看远程mysql的password,发现所填密码正确。
- 远程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 enablesudo 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 ufwsudo ufw enablesudo ufw default deny
参考文章:https://www.jb51.net/article/138876.htm
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
服务
问题
端口
防火墙
防火
服务器
方法
原因
密码
文件
权限
主机
内容
思路
错误
本机
数据
做法
命令
用户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全目前就业方向
网络安全画册素材
嵌入式软件开发需要的技能
数据库备份的基本要求
服务器机箱无信号
数据库的应用技术有哪些
全程软件开发包括什么
数据库表信息的备注怎么弄
互联网金融腾讯金融科技
跨境支付网络安全
roblox服务器
网络安全法 贩卖个人信息
怎样查看数据库表空间
智商低适合软件开发吗
企业政府网络安全龙头
湖南邵阳市网络安全宣传
迅贤网络技术工作室
关于网络安全手抄报a4纸
软件开发是青春饭吗
违章查询软件开发
华为严查软件开发者
数据库涉及主要研究对象
163邮件服务器
全国网络安全技术大赛
学生网络安全教育培训内容
oracle数据库表被锁
宣传网络安全方式
数据库中的各种字母
根据多条件返回正行数据库
网络安全教育宣传周手抄报