MYSQL 8.0 使用 docker compose 安装

一、简介

本文描述的是 Windows10 如何使用 docker compose 来安装部署 MYSQL容器

二、环境要求

  • Windows 10
  • Docker & Docker compse was installed

三、部署

3.1)前期准备

MYSQL 版本我们使用的是:8.0 ,你可以先拉下来镜像

docker pull mysql:8.0

Docker网络命名为 localhost-network

docker network create localhost-network

接下来,我们使用docker compose 方式来部署MYSQL。

3.2)创建配置文件

假设我们的当前目录是 D:\workspaces

  • 构建 docker-compose-mysql.yml 配置文件
version: '3.8'

services:
  mysql:
    image: mysql:8.0
    container_name: mysql
    command: [ "--max_connections=1000" ]
    ports:
      - "3306:3306"
    security_opt:
      - seccomp:unconfined
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/config/my.cnf:/etc/mysql/my.cnf
      - ./mysql/init:/docker-entrypoint-initdb.d
      - ./mysql/log:/var/log/mysql
      - ./mysql/mysql-files:/var/lib/mysql-files
    environment:
       - MYSQL_ROOT_PASSWORD=password
       - MYSQL_ALLOW_EMPTY_PASSWORD=no
       - MYSQL_USER=yourname
       - MYSQL_PASS=password
    networks:
      - localhost-network
    restart: always

volumes:
  mysql:
  mysql_config:

networks:
  localhost-network:
    name: localhost-network-1
  • 创建MYSQL的挂载目录,自行鼠标右键创建 D:\workspaces\mysql 目录以及相关的子文件夹 data、config、init、log、mysql-files
  • 添加 MYSQL 启动配置文件 my.cnf 文件地址:D:\workspaces\mysql\config\my.cnf
[mysqld]
user=mysql
character-set-server=utf8

default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1024

default-storage-engine=INNODB
 
[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8

3.3)运行部署

直接运行CMD命令

docker compose -f docker-compose-mysql.yml up -d
# OR 
docker-compose -f docker-compose-mysql.yml up -d

3.4)验证测试

查看MYSQL容器是否运行?

docker ps

进入MYSQL容器,使用命令连接MYSQL

docker exec -it mysql /bin/bash
# 连接数据库
mysql -u root -p

# 显示数据库列表
show databases;

如:创建数据库用户 nine 或者你可以直接在 D:\workspaces\mysql\init 文件夹下写一个init.sql文件,填写你要执行的SQL语句 

# 显示数据库列表
show databases;

# 选择数据库mysql
use mysql;

# 创建数据库用户 nine
CREATE USER 'nine'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

# 授予访问权限
GRANT ALL PRIVILEGES ON *.* TO 'nine'@'%';

init.sql 

CREATE DATABASE IF NOT EXISTS `testdb` DEFAULT CHARACTER SET utf8mb4;

CREATE USER 'nine'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'nine'@'%';
FLUSH PRIVILEGES;

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值