MySQL远程无法连接的一些常见原因总结


Posted in MySQL onSeptember 23, 2022

前言

MySQL是目前非常流行的数据库之一,也是中小企业持久化存储的首选数据库。

不同于我们日常学习,在实际应用中,MySQL服务都会挂载在某台服务器上。如果MySQL部署在某台云服务器上,这样一来,操纵数据库每次都需要先连接服务器,再进入数据库操作,不是很方便。

于是,学习远程连接 MySQL 的方法是数据库在服务器上时的必修课。下面我将讲述远程连接报错的常见三种原因。

原因1:

MySQL的远程访问权限未开放

如果最常见的无法远程连接问题,因为没开启远程访问权限导致的。

解决方案:

进入MySQL中,通过下述命令可以查看远程访问权限等,创建用户的远程访问权限并刷新指令即可,别忘记每次修改命令都要刷新指令哦。

常见命令如下:

# 查看当前远程连接的权限
select User,authentication_string,Host from user;
# 创建用户远程访问权限
create user root@'%' identified by '123456';
# 允许指定主机(IP地址)访问权限
grant all privileges on test.* to '用户名'@'ip地址' identified by '密码';
# 无法创建请删除重新试一遍
drop user root@'ip地址';
# 赋予用户操作的全部权限
grant all privileges on *.* to root@'%';
# 刷新指令
flush privileges;

原因2:

服务器开启了防火墙,导致MySQL的访问端口无法使用

如果服务器开启了防火墙,并且未设置MySQL端口开放策略,那么你将无法通过对应的端口远程访问MySQL。

MySQL远程无法连接的一些常见原因总结

解决方案:

关闭防火墙,或者开放对应的MySQL端口即可,比如默认的MySQL端口是3306,开放他就行。

常见命令如下:

# 查看防火墙状态
firewall-cmd --state
# 启动防火墙
systemctl start firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 设置开机自启动
systemctl enable firewalld.service
# 开放防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新加载配置
firewall-cmd --reload
# 查看开放的防火墙端口
firewall-cmd --zone=public --list-ports

原因3:

docker链被清除,导致MySQL无法访问

如果你的MySQL是部署在docker容器中的,并且在部署完成后开启设置了防火墙。这个时候就可能导致docker的链被清除,即使你开启了远程访问权限,也只能通过进入容器访问MySQL,远程无法访问。

解决方案:

重新启动docker,可以恢复docker链。

# 重启docker
systemctl restart docker

总结

到此这篇关于MySQL远程无法连接的一些常见原因的文章就介绍到这了,更多相关MySQL远程无法连接原因内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
mysql 8.0.24 安装配置方法图文教程
May 12 MySQL
MySQL5.7并行复制原理及实现
Jun 03 MySQL
MySQL系列之六 用户与授权
Jul 02 MySQL
Mysql binlog日志文件过大的解决
Oct 05 MySQL
mysql分表之后如何平滑上线详解
Nov 01 MySQL
Mysql数据库手动及定时备份步骤
Nov 07 MySQL
MySQL的索引你了解吗
Mar 13 MySQL
MySQL学习必备条件查询数据
Mar 25 MySQL
Mysql分析设计表主键为何不用uuid
Mar 31 MySQL
排查MySQL生产环境索引没有效果
Apr 11 MySQL
MySQL控制流函数(-if ,elseif,else,case...when)
Jul 07 MySQL
MySQL事务的ACID特性以及并发问题方案
Jul 15 MySQL
MySQL count(*)统计总数问题汇总
Sep 23 #MySQL
MySQL常用慢查询分析工具详解
Aug 14 #MySQL
了解MySQL查询语句执行过程(5大组件)
Aug 14 #MySQL
MySQL 原理与优化之Update 优化
Aug 14 #MySQL
MySql统计函数COUNT的具体使用详解
Aug 14 #MySQL
MySQL 原理与优化之Limit 查询优化
MySQL 原理优化之Group By的优化技巧
Aug 14 #MySQL
You might like
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
PHP基本语法实例总结
2016/09/09 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
js获取checkbox值的方法
2015/01/28 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
JS实现li标签的删除
2019/04/12 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
Python写的服务监控程序实例
2015/01/31 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
通过代码实例了解Python异常本质
2020/09/16 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
毕业生自我鉴定实例
2014/01/21 职场文书
农民工讨薪标语
2014/06/26 职场文书
校园安全广播稿范文
2014/09/25 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
JS如何使用剪贴板操作Clipboard API
2021/05/17 Javascript
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android