MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)

网盘分享 MySQL-8.0.32 版本 Docker 镜像文件:

链接: https://pan.baidu.com/s/1cubH9dYhtslD7nqZxlYfSA?pwd=r96p 提取码: r96p

Docker部署 MySQL8.0.32 版本

1.部署流程

1.1 导入镜像文件

# 上传镜像文件并导入镜像docker load -i mysql8.0.32.tar # 输出日志 caefa4e45110: Loading layer [==================================================>]112.4MB/112.4MB 5ed69eb31cd7: Loading layer [==================================================>]11.26kB/11.26kB a9805d41c46a: Loading layer [==================================================>]2.359MB/2.359MB 3f772020efc1: Loading layer [==================================================>]13.93MB/13.93MB 08745f0c18ca: Loading layer [==================================================>]7.168kB/7.168kB 0b298ddae18b: Loading layer [==================================================>]3.072kB/3.072kB dffcd75d4203: Loading layer [==================================================>]178.9MB/178.9MB 27fefd67a649: Loading layer [==================================================>]3.072kB/3.072kB 500cc6781b7e: Loading layer [==================================================>]237.2MB/237.2MB a5b118f152bf: Loading layer [==================================================>]17.41kB/17.41kB edddc37f3f38: Loading layer [==================================================>]1.536kB/1.536kB Loaded image: mysql:8.0.32 

导入后可以使用命令查看镜像信息:

docker images # 镜像信息 REPOSITORY TAG IMAGE ID CREATED SIZE mysql 8.0.32 412b8cc72e4a 2 years ago 531MB 

1.2 创建挂载目录

为的是便于编辑配置文件和查看日志信息,如果数据库的数据量比较大,也可将数据文件放在容器外(启动容器的时候挂载 data 和 log 目录即可):

# 创建挂载目录mkdir -p /home/mysql/{conf,data,log}

1.3 添加配置文件

懂的都懂,当然也可以不添加配置文件使用默认的:

# 添加配置文件vim /home/jsgx/mysql/conf/my.cnf # 配置文件内容[mysqld]# 默认配置log_bin=mysql-binlog max_connections=2000join_buffer_size=8M read_buffer_size=8M read_rnd_buffer_size=8M innodb_log_buffer_size= 128M innodb_read_io_threads=8innodb_write_io_threads=8innodb_buffer_pool_size=64G table_open_cache=4000 secure_file_priv =innodb_log_file_size=1024M innodb_log_files_in_group=4innodb_flush_log_at_trx_commit=0sync_binlog=2000sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION lower_case_table_names=1[client]port=3306[mysqldump] quick max_allowed_packet=1024M net_buffer_length=64M 

1.4 启动命令

在使用 Docker 启动 MySQL 容器时,可通过 docker run 命令传递多种参数来配置容器的运行环境、网络、存储以及 MySQL 本身的属性。而这些参数可以大致分为 Docker 运行参数(控制容器行为)和 MySQL 镜像特定参数(控制数据库行为)。

以下是常用的参数详解:

1.4.1 核心配置参数(环境变量)

这些参数通常以 -e 开头,用于设置 MySQL 的初始配置和用户权限。

参数含义示例
-e MYSQL_ROOT_PASSWORD=yourpassword必填。设置 MySQL 的 root 用户密码。-e MYSQL_ROOT_PASSWORD=123456
-e MYSQL_ROOT_HOST=%设置允许 root 用户从哪些主机连接。% 代表任意主机(即允许远程连接),默认是 localhost-e MYSQL_ROOT_HOST=%
-e MYSQL_DATABASE=mydb容器启动时自动创建一个指定名称的数据库。-e MYSQL_DATABASE=test_db
-e MYSQL_USER=myuser创建一个新用户,并赋予对 MYSQL_DATABASE 指定数据库的操作权限。-e MYSQL_USER=john
-e MYSQL_PASSWORD=mypass配合 MYSQL_USER 使用,设置新用户的密码。-e MYSQL_PASSWORD=secret
-e TZ=Asia/Shanghai设置容器时区(防止日志或时间字段出现时差问题)。-e TZ=Asia/Shanghai

1.4.2 存储与数据持久化(卷挂载)

使用 -v 参数将宿主机的目录挂载到容器内,防止容器删除后数据丢失。

  • 数据目录-v /宿主机路径/data:/var/lib/mysql
    • 将 MySQL 的数据文件存储在宿主机,确保数据持久化。
  • 配置文件-v /宿主机路径/conf:/etc/mysql/conf.d
    • 将自定义的 .cnf 配置文件挂载到容器内,覆盖默认配置(如字符集、连接数)。
  • 日志目录-v /宿主机路径/logs:/var/log/mysql
    • 将日志文件输出到宿主机,便于排查问题。
  • 初始化脚本-v /宿主机路径/init:/docker-entrypoint-initdb.d
    • .sql.sh 脚本挂载到此目录,容器首次启动时会自动执行这些脚本(用于初始化表结构或数据)。

1.4.3 网络与端口

  • 端口映射 (-p)
    • 语法:-p 宿主机端口:容器端口
    • 示例:-p 3306:3306 (将宿主机的 3306 端口映射到容器的 3306 端口)。
    • 如果宿主机 3306 已被占用,可以映射为其他端口,如 -p 3307:3306
  • 容器名称 (--name)
    • 为容器指定一个易记的名称,方便后续管理(如 docker stop mysql-container)。

1.4.4 容器运行策略

参数含义
-d后台运行容器(detached mode)。
--restart=always设置容器随 Docker 服务开机自启,或在崩溃后自动重启。
--privileged=true赋予容器高权限(通常在 SELinux 或权限受限的系统中需要)。
--net=host使用宿主机网络模式(不推荐常规使用,会失去网络隔离)。

1.4.5 MySQL 服务端参数(直接追加)

在镜像名称后面直接追加 MySQL 的启动参数,用于覆盖默认配置。

  • 字符集设置
    • --character-set-server=utf8mb4
    • --collation-server=utf8mb4_unicode_ci
  • 大小写不敏感(仅限初始化):
    • --lower_case_table_names=1
  • SQL 模式
    • --sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

这是一个结合了上述大部分最佳实践的启动命令:

docker run -d \ --name mysql-prod \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=StrongPassword123 \ -e MYSQL_ROOT_HOST=% \ -e TZ=Asia/Shanghai \ -v /data/mysql/conf:/etc/mysql/conf.d \ -v /data/mysql/data:/var/lib/mysql \ -v /data/mysql/logs:/var/log/mysql \ -v /data/mysql/init:/docker-entrypoint-initdb.d \ --restart=always \ mysql:8.0 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_unicode_ci \ --lower_case_table_names=1

数据库的版本不同,挂载目录会存在差异,本次测试使用的命令:

docker run -d \ --name mysql8.0.32 \ -p 3309:3306 \ -e MYSQL_ROOT_PASSWORD=1234567890\ -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -v /home/mysql/data:/var/lib/mysql \ -v /home/mysql/log:/logs \ --privileged=true \ mysql:8.0.32 \ --lower_case_table_names=1

2.总结

Docker 部署的优点不少,我最看中的是它只需要一行命令即可启动一个 MySQL 实例。不需要手动配置软件源、处理依赖关系,且可以离线部署。而同时,切换 MySQL 版本变得异常简单,只需更换镜像标签(如 mysql:5.7 切换到 mysql:8.0),无需重新安装或担心依赖冲突,极大地提升了部署效率。

Read more

腾讯开源混元翻译实战:HY-MT1.5-1.8B在客服系统的应用

腾讯开源混元翻译实战:HY-MT1.5-1.8B在客服系统的应用 1. 引言:AI翻译在智能客服中的核心价值 随着全球化业务的不断扩展,企业对多语言实时沟通能力的需求日益增长。尤其是在电商、金融、旅游等行业的客服系统中,用户可能使用中文、英文甚至小语种发起咨询,而客服团队往往难以覆盖所有语言场景。传统商业翻译API虽然稳定,但存在成本高、延迟大、数据隐私风险等问题。 2025年12月30日,腾讯在Hugging Face正式开源了HY-MT1.5-1.8B——一款专为高效翻译设计的小参数大模型。该模型仅1.8B参数量,却在翻译质量上媲美7B级大模型,并支持边缘部署与实时推理,为构建私有化、低延迟、高安全性的智能客服翻译系统提供了全新选择。 本文将围绕 HY-MT1.5-1.8B 模型的实际落地,结合 vLLM 部署与 Chainlit 前端调用方案,详细解析其在客服对话系统中的集成路径、性能优化策略及关键功能实践。 2. HY-MT1.5-1.8B 核心特性深度解析 2.

By Ne0inhk
2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)

2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)

2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操) 如果你最近登录 GitHub 时被提示“启用双因素身份验证(2FA)”,别慌——这就是在你输入密码后,再增加一道“动态验证码”的安全锁。本文用TOTP.app(可下载/可在线) 带你从 0 到 1 完成 GitHub 的 2FA 配置,全程保留原图与链接,按步骤照做就能成功。 关键词:GitHub 2FA、GitHub 双因素身份验证、GitHub 启用 2FA、GitHub TOTP、GitHub 动态验证码、GitHub 账号安全、GitHub 登录保护、

By Ne0inhk

URDF(Unified Robot Description Format)机器人领域中用于描述机器人模型的标准 XML 格式

URDF(Unified Robot Description Format),这是机器人领域中用于描述机器人模型的标准 XML 格式。 1. URDF 概述 URDF 是 ROS(Robot Operating System)中用于描述机器人结构的标准格式。它使用 XML 格式定义机器人的: * 连杆(Links):机器人的刚性部件 * 关节(Joints):连接连杆的运动副 * 运动学结构:连杆与关节的层级关系 * 物理属性:质量、惯性、碰撞体积等 * 视觉属性:3D 模型外观 2. URDF 核心元素详解 2.1 基本结构 <?xml version="1.0"?>

By Ne0inhk
XILINX PCIE IP核详解、FPGA实现及仿真全流程(Virtex-7 FPGA Gen3 Integrated Block for PCI Express v4.3)

XILINX PCIE IP核详解、FPGA实现及仿真全流程(Virtex-7 FPGA Gen3 Integrated Block for PCI Express v4.3)

一、XILINX几种IP核区别         传统系列芯片 IP核名称核心特点用户接口开发难度适用场景7 Series Integrated Block for PCI Express最基础的PCIe硬核,提供物理层和数据链路层AXI4-Stream TLP包最高,需处理TLP包需深度定制PCIe通信,对资源敏感的项目AXI Memory Mapped To PCI Express桥接IP,将PCIe接口转换为AXI接口AXI4内存映射中等,类似操作总线FPGA需主动读写主机内存,平衡效率与灵活性DMA/Bridge Subsystem for PCI Express (XDMA)集成DMA引擎,提供"一站式"解决方案AXI4 (另有AXI-Lite等辅助接口)最低,官方提供驱动高速数据批量传输(如采集卡),追求开发效率         注意:         1.硬件平台限制:不同系列的Xilinx FPGA(如7系列、UltraScale、Versal)支持的PCIe代数和通道数可能不同。在选择IP核前,请务必确认您的FPGA型号是否支持所需的PCIe配置(

By Ne0inhk