在Linux上设置MySQL允许远程连接的完整指南

news2024/12/23 9:54:15

个人名片
在这里插入图片描述
🎓作者简介:java领域优质创作者
🌐个人主页:码农阿豪
📞工作室:新空间代码工作室(提供各种软件服务)
💌个人邮箱:[2435024119@qq.com]
📱个人微信:15279484656
🌐个人导航网站:www.forff.top
💡座右铭:总有人要赢。为什么不能是我呢?

  • 专栏导航:

码农阿豪系列专栏导航
面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️
Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻
Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡
全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀

书单

    • 在Linux上设置MySQL允许远程连接的完整指南
      • 1. 修改MySQL配置文件
        • 1.1 编辑MySQL配置文件
        • 1.2 修改`bind-address`配置项
        • 1.3 保存并关闭文件
      • 2. 重启MySQL服务
      • 3. 创建远程访问的MySQL用户
        • 3.1 登录到MySQL
        • 3.2 创建允许远程访问的用户
        • 3.3 授予权限
      • 4. 配置防火墙
        • 4.1 使用UFW防火墙
        • 4.2 使用iptables防火墙
      • 5. 验证远程连接
      • 6. 可能的故障排除
        • 6.1 检查MySQL服务状态
        • 6.2 检查防火墙规则
        • 6.3 检查MySQL用户权限
      • 总结

在Linux上设置MySQL允许远程连接的完整指南

MySQL是一个流行的开源关系数据库管理系统(RDBMS),广泛用于各种应用场景,包括Web开发、数据分析和企业应用。在某些情况下,我们需要允许远程计算机连接到我们的MySQL服务器。本文将详细介绍如何在Linux系统上配置MySQL以允许远程连接。

1. 修改MySQL配置文件

默认情况下,MySQL仅监听本地接口。这意味着它只接受来自本地机器的连接请求。为了允许远程连接,我们需要修改MySQL配置文件,使其监听所有接口。

1.1 编辑MySQL配置文件

MySQL的配置文件通常位于/etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf。你可以使用文本编辑器(如nanovim)来编辑这个文件:

sudo nano /etc/mysql/my.cnf

或者:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
1.2 修改bind-address配置项

在配置文件中查找bind-address配置项,并将其设置为0.0.0.0,表示MySQL将监听所有网络接口的连接请求:

bind-address = 0.0.0.0
1.3 保存并关闭文件

完成修改后,保存文件并关闭文本编辑器。在nano中,按Ctrl+O保存,按Ctrl+X退出。

2. 重启MySQL服务

配置文件修改完成后,需要重启MySQL服务以使更改生效:

sudo systemctl restart mysql

3. 创建远程访问的MySQL用户

为了允许远程连接,我们需要创建一个MySQL用户,并配置该用户允许从远程主机连接到数据库。

3.1 登录到MySQL

首先,以root用户身份登录到MySQL:

mysql -u root -p

系统会提示你输入root用户的密码。输入密码后,你将进入MySQL命令行界面。

3.2 创建允许远程访问的用户

在MySQL命令行中,使用以下命令创建一个允许远程访问的用户(假设用户名为remoteuser,密码为password):

CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';

上述命令创建了一个可以从任何主机(由%表示)连接的用户remoteuser

3.3 授予权限

接下来,授予该用户适当的权限。以下命令授予remoteuser对所有数据库的所有权限:

GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;

授予权限后,执行以下命令使更改生效:

FLUSH PRIVILEGES;

4. 配置防火墙

为了确保远程连接能够成功,我们需要确保Linux防火墙允许MySQL的默认端口3306的访问。

4.1 使用UFW防火墙

如果你的Linux系统使用UFW防火墙,可以使用以下命令允许3306端口的访问:

sudo ufw allow 3306

重新加载UFW规则:

sudo ufw reload
4.2 使用iptables防火墙

如果你的Linux系统使用iptables防火墙,可以使用以下命令允许3306端口的访问:

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

保存iptables规则:

sudo iptables-save

5. 验证远程连接

完成以上步骤后,你应该能够从远程主机连接到MySQL服务器。使用以下命令从远程计算机连接到MySQL服务器(假设服务器IP为your_server_ip):

mysql -u remoteuser -p -h your_server_ip

系统会提示你输入密码。输入remoteuser的密码后,如果配置正确,你应该能够成功连接到MySQL服务器。

6. 可能的故障排除

如果在设置过程中遇到问题,可以参考以下故障排除方法:

6.1 检查MySQL服务状态

确保MySQL服务正在运行:

sudo systemctl status mysql

如果服务未运行,可以使用以下命令启动:

sudo systemctl start mysql
6.2 检查防火墙规则

确保防火墙允许3306端口的访问。使用以下命令查看当前的防火墙规则:

UFW

sudo ufw status

iptables

sudo iptables -L
6.3 检查MySQL用户权限

确保远程用户具有适当的权限。登录到MySQL,执行以下命令检查用户权限:

SHOW GRANTS FOR 'remoteuser'@'%';

总结

通过上述步骤,你可以在Linux系统上成功配置MySQL以允许远程连接。这包括修改MySQL配置文件、创建远程用户、配置防火墙以及验证连接。正确的配置可以确保你的MySQL服务器既安全又能满足远程访问的需求。如果在设置过程中遇到问题,可以参考故障排除部分进行检查和修复。希望这篇指南对你有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1926119.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3+Vite+TS+Axios整合详细教程

1. Vite 简介 Vite是新一代的前端构建工具,在尤雨溪开发Vue3.0的时候诞生。类似于Webpack Webpack-dev-server。其主要利用浏览器ESM特性导入组织代码,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随起随用。生产中利用…

达梦数据库的系统视图v$sessions

达梦数据库的系统视图v$sessions 达梦数据库(DM Database)是中国的一款国产数据库管理系统,它提供了类似于Oracle的系统视图来监控和管理数据库。V$SESSIONS 是达梦数据库中的一个系统视图,用于显示当前数据库会话的信息。 以下…

数据结构(Java):LinkedList集合Stack集合

1、集合类LinkedList 1.1 什么是LinkedList LinkedList的底层是一个双向链表的结构(故不支持随机访问): 在LinkedList中,定义了first和last,分别指向链表的首节点和尾结点。 每个节点中有一个成员用来存储数据&…

Oracle 物化视图详解与实践

一.视图是什么? 普通视图只是存放在数据字典当中的子查询,本身没有数据,数据来源于基表,可以把普通视图当作编译好的sql语句。 二.物化视图是什么? 把查询到的数据存放起来,为了以后再次查询使用&#xff0…

NiFi1.25版本HTTPS模式下RestAPI使用入门

Apache NiFi 是一个强大的数据流处理工具,通过其 REST API,用户可以远程管理和控制数据流处理器。本文将介绍如何使用 NiFi 1.25 版本HTTPS 模式下Rest API,包括获取 token、获取组件信息、启动和停止组件、以及更改组件的调度频率等操作。 …

2.2动态库

动态库的特性 位置无关代码(PIC - position independent code) 库中的符号&#xff0c;不需要提前存储在可执行文件中&#xff0c;只有当链接时&#xff0c;可执行文件才会将需要的代码函数链接到内存中。 制作动态库 编写主函数 test.c #include<stdio.h> int main…

Java 设计模式系列:解释器模式

简介 解释器模式是一种行为型设计模式&#xff0c;它提供了一种构建抽象语法树的机制&#xff0c;并定义了如何解释这棵树。解释器模式属于编译原理中的语法制导翻译的范畴。 如上图&#xff0c;设计一个软件用来进行加减计算。我们第一想法就是使用工具类&#xff0c;提供对应…

优雅单片机之STM32C8T6----------程序下载(1)

0&#xff0c;C8T6系列 若想查看视频以及讲解&#xff0c;请查看B站或者抖音视频。 1&#xff0c;入门程序的下载&#xff08;本文&#xff09; 2&#xff0c;蓝牙控制&#xff08;待定&#xff09; 3&#xff0c;蓝牙小车&#xff08;待定&#xff09; 一&#xff0c;USB转…

springboot3 web

springboot web配置 springboot web的配置有&#xff1a; SpringMvc配置的前缀为&#xff1a;spring.mvcweb场景的通用配置为&#xff1a;spring.web文件上传的配置为&#xff1a;spring.servlet.multipart服务器相关配置为&#xff1a;server 接管SpringMVC 的三种方式 方…

深圳晶彩智能JC3636W518C开发环境Arduino IDE配置

深圳晶彩智能发布了JC3636W518C 这是一款中国制造的&#xff0c;铝合金外壳&#xff0c;价格非常震撼的开发板。原创是billbill的up播主萨纳兰的黄昏设计的ESP32太极小派&#xff0c;由深圳晶彩智能批量生产。 该款 LCD 模块采用 ESP32-S3R8 芯片作为主控,该主控是双核 MCU&…

Java File类(一) -- springboot项目根目录下进行文件的读取、写入与清空内容的操作

目录 1.存储的位置 2.FileOperationUtil工具类源代码 1.存储的位置 2.FileOperationUtil工具类源代码 import org.springframework.util.FileCopyUtils; import java.io.*; import java.nio.charset.StandardCharsets;/*** @ClassName FileOperationUtil* @Description 文件…

卡码网KamaCoder 101. 孤岛的总面积

题目来源&#xff1a;101. 孤岛的总面积 C题解&#xff1a;在卡码网KamaCoder 100. 岛屿的最大面积-CSDN基础上加了个孤岛flg进行修改 #include <iostream> #include <vector> #include <queue>#include <stdio.h> using namespace std;int res 0, t…

【2024_CUMCM】时间序列3-一元时间序列分析的模型

目录 时间序列的平稳性 弱平稳 白噪声序列 序列图 差分方程 滞后算子 AR(p)模型 概念 平稳 例子 MA(q)模型 ARMA(p,q) 自回归移动平均模型 平稳性 ACF自相关系数 PACF偏自相关函数 AR(1)模型图 MA(1)与AR(2)图 ARMA(1,1)图 ARMA模型的识别 ARMA模型的估计…

【计算机视觉】3D重建:使用MeshLab进行表面重建(以泊松重建为例)

一、MeshLab 1、简介 MeshLab是一款功能强大的开源三维网格处理软件&#xff0c;主要用于编辑、修复、简化和可视化三维三角形网格和点云数据。它支持PLY、STL、OBJ、3DS、COLLADA等多种常用的3D文件格式&#xff0c;提供了网格清理、修复、简化、纹理映射、参数化、布尔运算等…

多平台内网穿透工具-frp配置(下载安装、开机自启)

✨本教程使用Windows做客户端&#xff0c;Ubuntu做服务端。服务端需要能公网访问&#xff0c;可以去腾讯或者阿里购买vps。 本教程所采用的工具可在蓝奏云中下载。下载地址&#xff1a;https://wwt.lanzoue.com/b0fomaeta密码:1k1u frp官方文档地址&#xff1a;https://gofrp.o…

基于SSM的校园一卡通管理系统的设计与实现

摘 要 本报告全方位、深层次地阐述了校园一卡通管理系统从构思到落地的整个设计与实现历程。此系统凭借前沿的 SSM&#xff08;Spring、Spring MVC、MyBatis&#xff09;框架精心打造而成&#xff0c;旨在为学校构建一个兼具高效性、便利性与智能化的一卡通管理服务平台。 该系…

【问题项目】freeswitch的web界面YouPBX —— 筑梦之路

开源地址&#xff1a;GitHub - JoneXiong/YouPBX: A great GUI manager for FreeSwitch 说明&#xff1a;该项目是基于python 2.7django开发 这里主要记录下搭建使用过程 # 拉取代码git clone https://github.com/JoneXiong/YouPBX.gitgit clone https://github.com/JoneX…

Spring Web MVC入门(2)(请求1)

目录 请求 1.传递单个参数 2.传递多个参数 3.传递对象 4.后端参数重命名(后端参数映射) 非必传参数设置 5.传递数组 请求 访问不同的路径就是发送不同的请求.在发送请求时,可能会带一些参数,所以学习Spring的请求,主要是学习如何传递参数到后端及后端如何接收. 1.传递单…

局域网如何进行内网连接和外网连接

这里写目录标题 什么是局域网什么是内网和外网为什么使用局域网内网连接 --- 小型局域网数据发送过程交换机知道IP地址对应的MAC地址&#xff08;一对一单播&#xff09;交换机不知道IP地址对应的MAC地址&#xff08;一对多广播&#xff09;数据接收过程 外网连接中型或大型局域…

SpringCoud组件

一、使用SpringCloudAlibaba <dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2023.0.1.0</version><…