Docker-compose 部署mysql8(windows环境下)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

docker下安装mysql8

一、安装基础程序

以下是需要安装好的程序

  1. Docker Desktop
  2. docker-compose(好像windows下的Docker Desktop已经安装好这个,可以自己验证一下)

二、部署mysql8

1.设计一个目录

目录如下

├── conf
│   └── my.cnf  # MySQL配置文件
├── db # 数据库数据文件目录
├── docker-compose.yml # docker-compose.yml文件
└── logs # 日志存放目录

2.编写配置文件

my.cnf


###### [mysql]配置模块 ######
[mysql]
# 设置MySQL客户端默认字符集
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock


###### [mysqld]配置模块 ######
[mysqld]
port=3306
user=mysql

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# MySQL8 的密码认证插件
default_authentication_plugin=mysql_native_password

# 禁用符号链接以防止各种安全风险
symbolic-links=0

# 允许最大连接数
max_connections=1000

# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=0
max_allowed_packet=16M 

# 设置时区
default-time_zone='+8:00'

# binlog 配置
log-bin = /logs/mysql-bin.log
expire-logs-days = 90
max-binlog-size = 500M

# server-id 配置
server-id = 1


###### [client]配置模块 ######
[client]
default-character-set=utf8mb4


docker-compose.yml


version: '3'
services:
  mysql:
    restart: always
    image: mysql:8.0
    container_name: mysqlServer33106
    volumes:
      - ./db:/var/lib/mysql
      - ./conf:/etc/mysql/conf.d
      - ./logs:/logs
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
    environment:
      MYSQL_ROOT_PASSWORD: "Abc123654"
      MYSQL_USER: "test"
      MYSQL_PASSWORD: "Abc123654"
      MYSQL_INITDB_SKIP_TZINFO: "Asia/Shanghai"
    ports:
      - "3306:3306"

! 注意:格式需要正确

运行

运行docker-compose up -d

需要在注意一点,将/db下的全部文件删掉.

总结

感谢凡尘技术,参考原文:https://blog.csdn.net/oschina_41731918/article/details/122837753

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值