Docker Compose--安装MySQL8的方法(实例)

原文网址:Docker Compose--安装MySQL8的方法(实例)_IT利刃出鞘的博客-CSDN博客

简介

本文介绍使用Docker compose安装MySQL8的方法。

Java技术星球:way2j.com

脚本及配置

目录结构

├── docker-compose.yml # docker-compose.yml文件
├── conf
│   └── my.cnf  # MySQL配置文件
├── data # 数据库数据文件目录
├── log # 日志存放目录
└── bak # 手动备份数据的目录

data、log不需要手动创建,在docker compose运行时会自动创建。

docker-compose.yml

version: '3.1'
services:
    mysqldb:
        # 启动方式
        #restart: unless-stopped
        
        # 镜像
        image: mysql:8.0
        # 容器名字
        container_name: mysql8
        privileged: true
        environment:
          # 时区
          TZ: Asia/Shanghai
          # root用户的密码
          MYSQL_ROOT_PASSWORD: 123456
          # 用户(不能是root, 后续需要给新用户赋予权限)
          MYSQL_USER: adminUser
          # 用户密码
          MYSQL_PASSWORD: 222333
        command:
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_general_ci
          --explicit_defaults_for_timestamp=true
        ports:
          - 3306:3306
        volumes:
          - ./log/:/var/log/mysql/
          - ./data/:/var/lib/mysql/
          - ./conf/:/etc/mysql/conf.d/
          - ./bak/:/bak/

my.cnf(mysql配置文件)

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
#服务端口号 默认3306
port=3306

# 数据路径,默认是/var/lib/mysql/
#datadir = /app/data/
 
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
 
# 最大连接数
max_connections=200
 
# 连接失败的最大次数。防止有人从该主机试图攻击数据库系统
max_connect_errors=20
 
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

skip-name-resolve

# binlog过期天数。默认是0(永远存在)
expire_logs_days=2

运行docker compose

法1:到配置文件目录下运行

docker compose up

会打印详细启动日志,而且会占用控制台。 

后台运行的方法:

docker compose up -d

-d:在后台运行。

法2:指定配置文件

docker compose -f /work/docker/docker-compose/mysql/docker-compose.yml up

docker compose的启动、停止等命令,全都是这样的,要么在配置文件目录下执行,要么指定配置文件。 

查看运行结果

compose查看

docker compose ls

docker查看

docker ps

给用户赋予权限

进到MySQL这个docker中

docker exec -it mysql8 bash

连接到MySQL服务

mysql -uroot -p

回车后输入密码:123456,然后再回车即可。

授予所有权限

GRANT ALL ON *.* TO 'adminUser'@'%';

 刷新权限

FLUSH PRIVILEGES;

Navicat连接测试

停止容器

docker compose stop

停止容器,但不删除容器。 

启动容器

docker compose start 

删除容器

法1:rm

docker compose rm

只删除容器 

法2:down

docker compose down

停止容器,然后删除容器。 

相关推荐

  1. DockerCompose安装mysql及配置

    2024-07-17 00:42:04       56 阅读
  2. DockerCompose介绍、安装与常用命令

    2024-07-17 00:42:04       40 阅读
  3. DockerCompose

    2024-07-17 00:42:04       60 阅读
  4. Centos7安装Docker和DockerCompose

    2024-07-17 00:42:04       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 00:42:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 00:42:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 00:42:04       58 阅读
  4. Python语言-面向对象

    2024-07-17 00:42:04       69 阅读

热门阅读

  1. 常见的SQL MODE及其解释

    2024-07-17 00:42:04       23 阅读
  2. [C++]类作用域

    2024-07-17 00:42:04       22 阅读
  3. 入门C语言只需一个星期(星期一)

    2024-07-17 00:42:04       27 阅读
  4. 算法-双指针

    2024-07-17 00:42:04       22 阅读
  5. Mybatis 之批量处理

    2024-07-17 00:42:04       21 阅读
  6. Spring Boot 面试题及答案整理,最新面试题

    2024-07-17 00:42:04       21 阅读
  7. 【python基础】学习路线

    2024-07-17 00:42:04       21 阅读
  8. HTTP基本原理

    2024-07-17 00:42:04       24 阅读
  9. Git 的基本命令和使用方式

    2024-07-17 00:42:04       22 阅读