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 之不可见列的基本操作
May 20 MySQL
详解MySQL多版本并发控制机制(MVCC)源码
Jun 23 MySQL
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
Aug 02 MySQL
浅谈MySQL表空间回收的正确姿势
Oct 05 MySQL
MYSQL 运算符总结
Nov 11 MySQL
MySQL创建表操作命令分享
Mar 25 MySQL
为什么MySQL不建议使用SELECT *
Apr 03 MySQL
排查并解决MySQL生产库内存使用率高的报警
Apr 11 MySQL
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
Apr 12 MySQL
MySQL创建管理LIST分区
Apr 13 MySQL
详解Mysql事务并发(脏读、不可重复读、幻读)
Apr 29 MySQL
MYSQL中文乱码问题的解决方案
Jun 14 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
PHP4实际应用经验篇(9)
2006/10/09 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
vue更改数组中的值实例代码详解
2020/02/07 Javascript
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
python 中random模块的常用方法总结
2017/07/08 Python
python的exec、eval使用分析
2017/12/11 Python
浅谈python可视化包Bokeh
2018/02/07 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
python实现视频读取和转化图片
2019/12/10 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
浅谈redis缓存在项目中的使用
2021/05/20 Redis
Python实现byte转integer
2021/06/03 Python
Linux安装apache服务器的配置过程
2021/11/27 Servers