前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker(43)- 安装 Mysql,数据持久化

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

作者头像
小菠萝测试笔记
发布2021-10-18 11:49:49
1.6K0
发布2021-10-18 11:49:49
举报
文章被收录于专栏:自动化、性能测试

思考

MySQL的数据持久化的问题

搜索 mysql 镜像

代码语言:javascript
复制
docker search docker
官方镜像介绍地址

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

pull mysql 镜像

代码语言:javascript
复制
# 最新版
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 是一个环境变量
代码语言:javascript
复制
docker run --name mysql_name -e MYSQL_ROOT_PASSWORD=my_password -d mysql:tag
挂载 Mysql 默认配置的目录
代码语言:javascript
复制
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)
代码语言:javascript
复制
docker run --name mysql_name -e MYSQL_ROOT_PASSWORD=my_password -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
如果想查看所有可用选项的完整列表
代码语言:javascript
复制
docker run -it --rm mysql:tag --verbose --help
挂载 Mysql 存放数据的目录
代码语言:javascript
复制
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() 函数所需的时区数据
  • 如果不需要,任何非空值都会禁用时区加载
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-10-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 思考
  • 搜索 mysql 镜像
    • 官方镜像介绍地址
    • pull mysql 镜像
    • 运行容器
      • 最简单
        • 挂载 Mysql 默认配置的目录
          • 将所有表的默认编码和排序规则更改为使用 UTF-8 (utf8mb4)
            • 如果想查看所有可用选项的完整列表
              • 挂载 Mysql 存放数据的目录
              • 更多环境变量
                • MYSQL_ROOT_PASSWORD
                  • MYSQL_DATABASE
                    • MYSQL_USER, MYSQL_PASSWORD
                      • MYSQL_ALLOW_EMPTY_PASSWORD
                        • MYSQL_RANDOM_ROOT_PASSWORD
                          • MYSQL_ONETIME_PASSWORD
                            • MYSQL_INITDB_SKIP_TZINFO
                            相关产品与服务
                            容器镜像服务
                            容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档