在 CentOS 8 中开放 MySQL 默认端口 3306,需要配置防火墙和 SELinux。以下是详细步骤:

1. 开放防火墙端口(Firewalld)

CentOS 8 默认使用 firewalld 管理防火墙,执行以下命令开放 3306 端口:

# 开放 TCP 3306 端口
sudo firewall-cmd --permanent --add-port=3306/tcp# 重载防火墙规则使其生效
sudo firewall-cmd --reload# 验证端口是否开放
sudo firewall-cmd --list-ports

输出示例

3306/tcp

2. 配置 SELinux 允许 MySQL 访问 3306 端口

若 SELinux 处于 enforcing 模式,还需配置 SELinux 策略:

# 检查 SELinux 是否允许 MySQL 使用 3306 端口
sudo semanage port -l | grep mysql# 如果未列出 3306,添加端口(通常不需要,MySQL 默认已关联 3306)
sudo semanage port -a -t mysql_port_t -p tcp 3306

3. 验证 MySQL 是否监听 3306 端口

确保 MySQL 服务正常运行且监听 3306 端口:

# 检查 MySQL 服务状态
sudo systemctl status mysqld# 查看端口监听情况(确认 3306 端口已监听)
sudo ss -tulpn | grep :3306

输出示例

tcp   LISTEN 0      128          0.0.0.0:3306       0.0.0.0:*    users:(("mysqld",pid=1234,fd=22))

4. 配置 MySQL 允许远程访问(可选)

默认情况下,MySQL 仅允许本地访问。若需远程连接,需修改配置文件:

# 编辑 MySQL 配置文件
sudo vi /etc/my.cnf  # 或 /etc/mysql/my.cnf# 添加或修改以下行(注释掉 bind-address 或设置为 0.0.0.0)
bind-address = 0.0.0.0  # 允许所有 IP 访问
# 或指定特定 IP
bind-address = 192.168.1.100  # 仅允许该 IP 访问# 重启 MySQL 服务
sudo systemctl restart mysqld

5. 验证远程连接

在另一台机器上使用 mysql 客户端测试连接:

mysql -h your_server_ip -u love -p

若遇到连接问题,可检查:

  • 服务器是否有公网 IP 且 3306 端口已在云服务商防火墙开放
  • MySQL 用户是否被授权从远程主机连接(CREATE USER 'love'@'%' ...

注意事项

  1. 安全风险:开放 3306 端口会暴露数据库,请确保:

    • 使用强密码
    • 限制允许访问的 IP(如 bind-address 设置)
    • 定期备份数据
  2. 端口冲突:若 3306 被其他服务占用,可修改 MySQL 监听端口:

    # 在 /etc/my.cnf 中添加或修改
    port = 3307# 重启 MySQL 和防火墙
    sudo systemctl restart mysqld
    sudo firewall-cmd --permanent --remove-port=3306/tcp
    sudo firewall-cmd --permanent --add-port=3307/tcp
    sudo firewall-cmd --reload
    

完成以上步骤后,MySQL 服务即可通过 3306 端口被外部访问。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python系列之:使用md5和sha256完成签名认证,调用接口

python系列之:使用md5和sha256完成签名认证,调用接口 MD5签名和sha256签名认证md5认证代码sha256认证代码拼接签名生成签名拼接url调用接口MD5签名和sha256签名认证 MD5签名认证 算法特性: 生成128位(16字节)的哈希值计算速度快已被证明存在碰撞漏洞(不同输入可能产生相同…

SpringBatch配置与入门实例

通过对SpringBatch基础概念的了解,参考:SpringBatch使用介绍 任何技术用起来之后,再去探究内部细节的原理,才会事半功倍。下面记录一下笔者在SpringBoot项目中集成SpringBatch,并且通过一个小的实例展示如何简单使用它…

spdlog 项目介绍与二次封装

目录 介绍 二次封装 介绍 spdlog 是C开源的第三方日志库,整个项目在 spdlog 命名空间中。 在 spdlog 命名空间的 level 命名空间里定义了枚举类型,把日志分为了 5 个等级:trace debug info warn err critical enum level_enum : in…

shell编程之awk命令详解

1. awk 教程 1.1 调用 awk awk 是一种强大的文本处理工具,在 Linux 系统中广泛应用于日志分析、数据处理等场景。调用 awk 主要有以下三种方式: 1.1.1 命令行方式 基本语法为: awk (-F filed-separator) commands input-files其中&#…

服务器需要备案吗?在哪些地区需要备案?

🎯 服务器是否需要备案? 是否需要备案,关键看以下两个因素: 服务器所在地(机房位置) 网站面向的访问群体(境内或境外) 🏷 中国大陆(境内)服务器…

HarmonyOS学习3---ArkUI

1、组件 1.1、基础组件 1.2、布局容器 1.3、页面导航 1.4、其他组件 2、ArkTs/C混合开发,高性能编码 3、布局能力&交互归一 4、实时开发预览

Java学习第十五部分——MyBatis

目录 一.概述 二.特点 三.组件 四.Mapper 五.配置文件 六.使用步骤 七.高级功能 八.优点缺点 九.项目实战 1.打开idea创建一个Java项目,构建系统选“Maven”​ 2.创建完成后若依赖报错,可通过下载或重新加载来解决​ 3.配置pom.xml文件&…

小企业如何搭建本地私有云服务器,并设置内部网络地址提供互联网访问

在数字化时代,很多普通公司小企业规模的,利用本地小型服务器或计算机搭建私有云服务器,不仅可以提升数据管理效率,还能保障业务数据的安全性和灵活性。以下是为小企业量身定制的私有云服务器搭建指南,及最后附无公网IP…

MySQL 八股文【持续更新ing】

MySQL 八股文【持续更新ing】 文章目录 MySQL 八股文【持续更新ing】前言一、MySQL的存储引擎有哪些?他们之间有什么区别?二、MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别?1.InnoDB 中的聚簇索引2.InnoDB 中的非聚簇索引 三、MySQL…

每日算法刷题Day42 7.5:leetcode前缀和3道题,用时2h

7. 3026.最大好子数组和(中等,学习) 3026. 最大好子数组和 - 力扣(LeetCode) 思想 1.给你一个长度为 n 的数组 nums 和一个 正 整数 k 。 如果 nums 的一个子数组中,第一个元素和最后一个元素 差的绝对值恰好 为 k ,我们称这个…

Linux操作系统之文件(四):文件系统(上)

前言: 我们前几篇文章讲了缓冲区与重定向的有关概念,这些设计是linux系统的核心机制,对系统性能、资源管理和用户操作灵活性有重要意义。 不涉及一些硬件就不可能让大家清楚地去理解文件系统,所以这篇文章,我将会从计…

java中,stream的filter和list的removeIf筛选速度比较

在 Java 里,Stream 的filter和 List 的removeIf筛选效率要依据具体情形来判断。 1. 操作本质有别 Stream 的 filter: 它是一种中间操作,不会立刻执行,而是把筛选条件记录下来。只有遇到终端操作时,才会开始处理元素。…

Python(28)Python循环语句指南:从语法糖到CPython字节码的底层探秘

目录 引言一、推导式家族全解析1.1 基础语法对比1.2 性能对比测试 二、CPython实现揭秘2.1 字节码层面的秘密2.2 临时变量机制 三、高级特性实现3.1 嵌套推导式优化3.2 条件表达式处理 四、性能优化指南4.1 内存使用对比4.2 执行时间优化技巧 五、最佳实践建议六、总结&#x1…

深度分析:Microsoft .NET Framework System.Random 的 C++ 复刻实现

深度分析:Microsoft .NET Framework Random 的 C 复刻实现 核心原理与算法结构 本实现基于 Knuth 减随机数生成器(Subtractive Random Number Generator),是 .NET Framework 中 System.Random 的精确复刻。其核心特点包括&#x…

[论文阅读] 人工智能 | 在非CUDA硬件上运行几何学习:基于Intel Gaudi-v2 HPU的PyTorch框架移植实践

在非CUDA硬件上运行几何学习:基于Intel Gaudi-v2 HPU的PyTorch框架移植实践 论文标题:PyTorch-based Geometric Learning with Non-CUDA Processing Units: Experiences from Intel Gaudi-v2 HPUs arXiv:2507.01031 (cross-list from cs.LG) PyTorch-ba…

Python-多线程-threading

1 需求 2 接口 3 示例 4 参考资料 Python treading 模块 | 菜鸟教程

2025年- H91-Lc199-- 62.不同路径(多维动态规划)--Java版

1.题目描述 2.思路 dp含义:代表到当前位置的路径数 递推公式:dp[i][j]dp[i-1][j]dp[i][j-1] dp数组初始化,我们要确保第一行和第一列是有值的. dp数组的遍历顺序:我们需要从左往右遍历,从上往下遍历。并且把第一行和第…

char 不是 Java 中的 2 字节(16 位)吗? 为什么用 UTF-8 编码写入时,一个中文要占 3 个字节?

char 不是 Java 中的 2 字节(16 位)吗? 为什么用 UTF-8 编码写入时,一个中文要占 3 个字节? ✅ 一、Java 中的 char 是什么? Java 的 char 是一个 固定大小的 2 字节(16 位)类型&am…

【Elasticsearch】检索排序 分页

检索排序 & 分页 1.测试数据准备2.排序功能2.1 简单字段排序2.2 多字段排序2.3 日期排序 3.分页功能3.1 基础分页3.2 深度分页(不推荐大数据量使用)3.3 使用 search_after 进行高效分页 4.综合示例:高亮排序分页5.实践建议 1.测试数据准备…

Delta、Jackknife、Bootstrap

用班级平均身高的案例,展示 ​Delta、Jackknife、Bootstrap​ 的完整计算过程。 ​0. 数据准备​ ​原始数据(4个学生的身高)​​: 真实均值(目标统计量)​​: ​1. Delta 方法(公式…