Docker部署MySQL 8的详细步骤与配置

Dylan
Dylan
发布时间:2026-10-15| 5人浏览过
原创

介绍在Linux系统中利用Docker容器化技术部署MySQL 8数据库的完整流程,包括环境准备、镜像拉取、数据与配置文件挂载、容器启动参数说明及内部用户权限配置。

准备环境

部署MySQL 8 Docker容器前,需确保运行环境为Linux系统(如CentOS 7),并已安装Docker服务。若未安装,可通过官方文档获取安装指南。

执行部署操作

第1步:拉取MySQL 8镜像

从Docker Hub拉取官方MySQL 8版本镜像:

docker pull mysql:8

第2步:创建配置文件与数据挂载目录

在宿主机上创建用于映射容器内数据的目录,建议分配读写权限:

mkdir -p /usr/mysql/conf /usr/mysql/data
chmod -R 755 /usr/mysql/

其中 /usr/mysql/conf 用于存放 my.cnf 配置文件,/usr/mysql/data 用于存储实际数据库文件。

第3步:编写并保存配置文件

创建自定义配置文件以指定字符集和数据路径:

vim /usr/mysql/conf/my.cnf

配置文件内容如下,设置了UTF-8编码及数据存储位置:

[client]
default-character-set = utf8mb4

[mysqld]
datadir = /usr/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
symbolic-links=0
!includedir /etc/mysql/conf.d/

第4步:启动容器

使用以下命令运行容器,实现目录挂载、端口映射及后台运行:

docker run --name mysql8 \
--restart=always \
-v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime:ro \
-p 4706:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8

关键参数说明:

  • --name mysql8:设定容器名称。
  • --restart=always:设置开机自启及崩溃重启策略。
  • -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf:将宿主机配置文件映射至容器。
  • -v /usr/mysql/data:/var/lib/mysql:数据持久化映射,防止容器删除后数据丢失。
  • -v /etc/localtime:/etc/localtime:ro:同步宿主机的时区时间。
  • -p 4706:3306:将宿主机端口4706映射到容器的3306端口。
  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码。

第5步:进入容器并创建专用用户

出于安全考虑,不建议直接使用root账号进行外部连接,可按以下步骤创建普通用户:

首先,进入容器终端:

docker exec -it mysql8 /bin/bash

然后,登录MySQL数据库:

mysql -uroot -p123456

在MySQL命令行中,创建允许任意IP登录的用户并授予全部权限:

# 创建 python 用户,密码为123456
CREATE USER 'python'@'%' IDENTIFIED BY '123456';

# 赋予所有数据库和操作权限
GRANT ALL ON *.* TO 'python'@'%';

最后,刷新权限使配置生效:

FLUSH PRIVILEGES;
exit

验证部署

部署完成后,可以通过客户端工具连接宿主机IP和映射后的端口(如4706)进行访问测试。

若连接界面显示正常且能列出数据库列表,则表明部署成功。

以上就是Docker部署MySQL 8的详细操作,更多关于Docker部署与数据库管理的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。