Docker(43)- 安装 Mysql,数据持久化

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Docker(43)- 安装 Mysql,数据持久化

思考


MySQL的数据持久化的问题

 

搜索 mysql 镜像


docker search docker

image.png

官方镜像介绍地址

https://hub.docker.com/_/mysql?tab=description

 

pull mysql 镜像


# 最新版
docker pull mysql
docker pull mysql:latest
# 8
docker pull mysql:8.0
# 5.7
docker pull mysql:5.7
# 5.6
docker pull mysql:5.6


更多镜像版本可参考:https://hub.docker.com/_/mysql?tab=tags

 

运行容器


最简单

  • 需要指定容器名和初始 root 密码
  • -e 是指定环境变量,所以 MYSQL_ROOT_PASSWORD 是一个环境变量

docker run --name mysql_name -e MYSQL_ROOT_PASSWORD=my_password -d mysql:tag

 

挂载 Mysql 默认配置的目录

docker run --name mysql_name -v /user/local/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my_password -d mysql:tag

 

将所有表的默认编码和排序规则更改为使用 UTF-8 (utf8mb4)

docker run --name mysql_name -e MYSQL_ROOT_PASSWORD=my_password -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

 

如果想查看所有可用选项的完整列表

docker run -it --rm mysql:tag --verbose --help

 

挂载 Mysql 存放数据的目录

docker run --name mysql_name -v /user/local/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my_password -d mysql:tag

 

更多环境变量


  • 上面的栗子讲了 MYSQL_ROOT_PASSWORD 是环境变量
  • docker run mysql 时,可以通过在 docker run 命令行中传入一个或多个环境变量来调整 MySQL 实例的配置

 

MYSQL_ROOT_PASSWORD

必需的,它指定将为 MySQL root 超级用户帐户设置的密码

 

MYSQL_DATABASE

  • 可选的,允许指定要在 docker run mysql 时创建的数据库的名称
  • 如果提供了用户/密码,则该用户将被授予对该数据库的超级用户访问权限(对应于 GRANT ALL)

 

MYSQL_USER, MYSQL_PASSWORD

  • 可选的,结合使用来创建新用户和密码
  • 该用户将被授予对 MYSQL_DATABASE 变量指定的数据库的超级用户权限
  • 创建用户需要这两个变量

 

MYSQL_ALLOW_EMPTY_PASSWORD

这是一个可选变量,设置为非空值,如 yes,允许使用 root 用户的空白密码启动容器

 

MYSQL_RANDOM_ROOT_PASSWORD

  • 可选的,设置为非空值,如 yes,为 root 用户生成随机初始密码
  • 生成的 root 密码将打印到 stdout

 

MYSQL_ONETIME_PASSWORD

  • 初始化完成后,将 root(不是 MYSQL_USER 中指定的用户!)用户设置为过期,强制在首次登录时更改密码
  • 任何非空值都将激活此设置

 

MYSQL_INITDB_SKIP_TZINFO

  • 默认情况下,入口点脚本会自动加载 CONVERT_TZ() 函数所需的时区数据
  • 如果不需要,任何非空值都会禁用时区加载
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
11天前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
81 3
docker 安装 Postgres 17.6
|
2月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
153 10
|
3月前
|
SQL 存储 缓存
MySQL 如何高效可靠处理持久化数据
本文详细解析了 MySQL 的 SQL 执行流程、crash-safe 机制及性能优化策略。内容涵盖连接器、分析器、优化器、执行器与存储引擎的工作原理,深入探讨 redolog 与 binlog 的两阶段提交机制,并分析日志策略、组提交、脏页刷盘等关键性能优化手段,帮助提升数据库稳定性与执行效率。
|
3月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
856 0
|
6月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
619 12
|
7月前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
293 16
|
8月前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
718 42
|
10月前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
224 24

热门文章

最新文章