MySQL远程无法连接的一些常见原因总结
作者:Lit?Shang 发布时间:2024-01-24 21:24:21
标签:mysql,远程连接,远程
前言
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端口是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
来源:https://blog.csdn.net/weixin_50762970/article/details/126281684


猜你喜欢
- 今天弄了一天,总算把win2003下的问题给解决了, LoadModule php5_module E:\server\php528\php
- 1、800*600下,网页宽度保持在778以内,就不会出现水平滚动条,高度则视版面和内容决定。2、1024*768下,网页宽度保持在1002
- 前言最近做了几个简单的爬虫python程序,于是就想做个窗口看看效果。首先是,窗口的话,以前没怎么接触过,就先考虑用Qt制作简单的ui。这里
- 用flask时遇到了返回字符串支持中文显示的问题,在web端显示的是utf-8的编码,而不是中文,如下图。虽然不影响接口的读取,但是可读性太
- 由于实际需要,简要写了个小脚本,并打包生成exe,供无网络环境下使用脚本1:显示当前时间与时间戳,以及10分钟后的时间与时间戳# -*- c
- 如何在ADO中使用存储查询?对于使用参数存贮查询,我们可用下面的代码进行示例:Private cn As Ne
- 找到python3的安装路径python3自带一个把python2代码转换成python3代码的程序,叫"2to3"我们
- 我们知道,TypeScript 支持 infer 来提取类型的一部分,通过模式匹配的方式。模式匹配比如元组类型提取最后一个元素的类型:typ
- 在网络上的Pandas教程中,很多都提到了如何使用Pandas将已有的数据(如csv,如hdfs等)直接加载成Pandas数据对象,然后在其
- 连接Access数据库string connStr = @"Data Source=D:\database.mdb; Provid
- 软件版本Python 2.7.13; Win 10场景描述1、使用python读取指定长度的文本;2、使用python读取某一范围内的文本。
- 一、作业需求 二、流程图三、源码与具体思路 import shutilimport osimport sysUSER_LOGIN
- 本文实例讲述了python使用reportlab实现图片转换成pdf的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/e
- BeautifulSoup简介Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:Beautif
- 在软件开发过程中经常会遇到数据库升迁的问题,原因比较多,如acsess访问速度比sql server慢、删除数据记录后access会留下空档
- window.opener,是通过window.open打开子窗体的父窗体的引用。 比如在父窗体parentForm里面,通过window.
- Windows版mysql 8.0.28安装图解,供大家参考,具体内容如下1.官网下载最新版第一步双击打开 选择server only(因为
- 前言在对网站整体性能进行benchmark时,可以使用多种工具,比如大名鼎鼎的ab(Apache bench),http_load等工具。这
- 本文通过问答的开式来解答在mysql在命名用过程中所遇到的常见问题。谁能连接,从那儿连接?你可以允许一个用户从特定的或一系列主机连接。有一个
- MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。MySQL 是完全网络化