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 - 常用函数 每天积极向上
Apr 05 MySQL
详解MySQL InnoDB存储引擎的内存管理
Apr 08 MySQL
MySQL如何构建数据表索引
May 13 MySQL
Mysql数据库命令大全
May 26 MySQL
MySql 8.0及对应驱动包匹配的注意点说明
Jun 23 MySQL
SQL实现LeetCode(176.第二高薪水)
Aug 04 MySQL
MySQL对数据表已有表进行分区表的实现
Nov 01 MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 MySQL
一文了解MySQL二级索引的查询过程
Feb 24 MySQL
Golang连接并操作MySQL
Apr 14 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
May 06 MySQL
MySQL外键约束(Foreign Key)案例详解
Jun 28 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
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
javascript表单正则应用
2017/02/04 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
python对Excel的读取的示例代码
2020/02/14 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
python中openpyxl和xlsxwriter对Excel的操作方法
2021/03/01 Python
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
鲜果饮品店创业计划书
2014/01/21 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
工作表扬信范文
2015/01/17 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL
Golang并发工具Singleflight
2022/05/06 Golang