zoukankan      html  css  js  c++  java
  • Docker(43) 安装 Mysql,数据持久化

    思考

    MySQL的数据持久化的问题

    搜索 mysql 镜像

    docker search docker

    官方镜像介绍地址

    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() 函数所需的时区数据
    • 如果不需要,任何非空值都会禁用时区加载
  • 相关阅读:
    接Oracle11g_client精简版安装步骤(2019年11月18日)之Plsql配置
    Oracle11g_client精简版安装步骤(2019年11月18日)
    PC端微信版本过低问题
    Windows下Nginx无法启动且进程里没有?
    Eclipse中复制项目后,怎么更改项目名等相关配置?(2019年10月17日)
    tomcat改端口号
    java基础
    数据库
    数组相关
    Linux系统实战
  • 原文地址:https://www.cnblogs.com/poloyy/p/14974882.html
Copyright © 2011-2022 走看看