MySQL-容器化

环境变量

关于 root 用户的密码
以下三者互斥

version: "3.8"
services:
  db1:
    image: mysql/mysql-server:5.7
    environment:
      MYSQL_ROOT_PASSWORD: QFedu123@   # root 用户密码
      MYSQL_ALLOW_EMPTY_PASSWORD: true  # 表示可以使用空密码   
      MYSQL_RANDOM_ROOT_PASSWORD: true  # 表示使用的是随机密码

关于非 root 的 用户和密码及其权限

MYSQL_USER: shark  # 指定用户
MYSQL_PASSWORD: QFedu123@  # 为指定的用户设置密码

如果这两个变量中的任何一个没有设置,另一个将被忽略。
如果两个变量都设置了:

  • MYSQL_DATABASE没有设置,则创建用户时没有任何特权。
  • MYSQL_DATABASE 设置了,则创建的用户对于此数据库有所有的权限(GRANT ALL)。

MYSQL_DATABASE 此变量允许您指定要在映像启动时创建的数据库的名称。 指定的数据库由 CREATE DATABASE IF NOT EXIST 语句创建,因此如果数据库已经存在,则该变量无效。

MYSQL_ROOT_HOST 默认情况下,MySQL创建 'root'@'localhost' 帐户。只能从容器内部连接该帐户。要允许来自其他主机的连接,请设置此环境变量。例如,值 172.17.0.1,这是默认的Docker网关IP,它允许来自运行容器的主机的连接。该选项仅接受一个条目,但允许使用通配符(例如 MYSQL_ROOT_HOST: "172.*.*.*"MYSQL_ROOT_HOST: "%")。

MYSQL_LOG_CONSOLE 当变量为true(这是MySQL 8.0服务器容器的默认状态, 5.7 模式是 false)时,MySQL服务器的错误日志将重定向到stderr,以便错误日志进入Docker容器的日志中,并可以使用docker logs mysqld-container命令查看。

数据库初始化目录,存放 *.sh 或者 *.sql 文件,作为初始化数据库之用

  • /docker-entrypoint-initdb.d/

配置文件

  • /etc/my.cnf

数据目录

  • /var/lib/mysql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shark_西瓜甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值