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 相关文章推荐
Windows10下安装MySQL8
Apr 06 MySQL
MySQL大小写敏感的注意事项
May 24 MySQL
Mysql 如何实现多张无关联表查询数据并分页
Jun 05 MySQL
MySQL索引失效的典型案例
Jun 05 MySQL
安装配置mysql及Navicat prenium的详细流程
Jun 10 MySQL
MySQL系列之六 用户与授权
Jul 02 MySQL
MySQL命令无法输入中文问题的解决方式
Aug 30 MySQL
MySQL中几种插入和批量语句实例详解
Sep 14 MySQL
MySQL 数据 data 基本操作
May 04 MySQL
MySQL GTID复制的具体使用
May 20 MySQL
MYSQL中文乱码问题的解决方案
Jun 14 MySQL
Mysql数据库group by原理详解
Jul 07 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中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
永不消失的title提示代码
2007/02/15 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
Python 调用DLL操作抄表机
2009/01/12 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
Python3处理HTTP请求的实例
2018/05/10 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
Python tcp传输代码实例解析
2020/03/18 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
Oracle快照(snapshot)
2015/03/13 面试题
回门宴答谢词
2014/01/13 职场文书
副董事长岗位职责
2014/04/02 职场文书
体育教师求职信
2014/05/24 职场文书
新闻报道策划方案
2014/06/11 职场文书
公司搬迁通知
2015/04/20 职场文书
高中生军训感言
2015/08/01 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang