当前位置: 首页 > article >正文

使用Docker部署MySQL 5.7并配置防火墙

步骤1: 切换到超级用户

首先,打开终端,输入以下命令切换到超级用户(root):

su

然后输入您的root密码。

步骤2: 启动Docker服务

确保Docker服务已经启动。可以使用如下命令启动Docker(如果它尚未运行):

systemctl start docker
步骤3: 运行MySQL容器

使用docker run命令来启动一个MySQL 5.7容器。此命令将创建一个名为mysql的容器,映射端口3307到容器内部的3306端口,并设置环境变量如时区、root用户的用户名和密码等。

docker run \
  --name mysql \
  -p 3307:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -e MYSQL_INITDB_ROOT_USERNAME=root \
  -e MYSQL_INITDB_ROOT_PASSWORD=123456 \
  -e MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password \
  -v /path/to/mysql/data:/var/lib/mysql \
  -d mysql:5.7

注意:请将/path/to/mysql/data替换为实际的主机路径,用于存储MySQL数据。

步骤4: 配置防火墙规则

为了使外部设备能够访问MySQL服务,需要通过firewalld添加一个新的端口规则。

  • 查看firewalld状态以确认其是否正在运行:
systemctl status firewalld
  • 添加新的端口规则:
firewall-cmd --zone=public --add-port=3307/tcp --permanent
  • 重新加载firewalld以应用更改:
firewall-cmd --reload
  • 确认端口规则已成功添加:
firewall-cmd --list-all
步骤5: 检查Linux服务器IP地址

最后,确定您的服务器IP地址以便从其他设备连接到MySQL服务:

hostname -I

这将显示所有分配给Linux服务器的IP地址。选择正确的IP地址与之前配置的端口号一起使用,以从外部连接到MySQL数据库。

通过以上步骤,您应该能够在CentOS系统上成功部署MySQL 5.7并通过Docker管理它,同时确保外部设备可以通过配置的防火墙规则访问该数据库服务。

步骤6: 宿主机使用navicat进行远程连接docker中的mysql

测试成功代表完成! 


http://www.kler.cn/a/543461.html

相关文章:

  • 好好说话:深度学习扫盲
  • Docker Desktop Windows 之 安装 SqlServer
  • LabVIEW商业软件开发
  • 使用 Notepad++ 编辑显示 MarkDown
  • 2025.2.8——二、Confusion1 SSTI模板注入|Jinja2模板
  • 2025.2.10 每日学习记录3:技术报告只差相关工作+补实验
  • C++,STL容器 unordered_set/unordered_multiset:无序集合/无序多重集合深入解析
  • 【面试集锦】如何设计SSO方案?和OAuth有什么区别?
  • JavaWeb学习-Mybatis(增删改查)
  • Windows 软件奔溃-dmp文件分析
  • 微信小程序网络请求封装
  • 【JavaEE进阶】Spring IoC
  • 【漫话机器学习系列】088.常见的输出层激活函数(Common Output Layer Activation Functions)
  • 堆、方法区、虚拟机栈、本地方法栈 和 程序计数器
  • HCIA项目实践--RIP相关原理知识面试问题总结回答
  • 从 0 开始本地部署 DeepSeek:详细步骤 + 避坑指南 + 构建可视化(安装在D盘)
  • Oracle数据库ADG日志丢失处理方法
  • js实现深拷贝
  • HDL Compiler:工具简介
  • C++病毒(^_^|)(2)
  • 多机器人系统的大语言模型:综述
  • es-head 正则查询和标准正则查询的差异
  • flutter 中 ReceivePort 的 first 和 listen
  • Nginx 中的HTTP2
  • 网络安全ids是什么意思
  • 【C++】26.unordered_map和unordered_set的使用