基于Docker Compose安装MySQL8

4,949 阅读1分钟

基于Docker Compose安装MySQL8

一、服务器环境

# 查看服务器系统版本
cat /etc/centos-release
# 查看服务器Linux内核
uname -a
版本

CentOS Linux release 7.9.2009 (Core)

内核

Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

二、MySQL安装前准备

  1. 创建外部文件目录,映射容器内有关数据存储或配置

    cd /usr/local/mysql
    mkdir conf data logs mysql-files
    chmod 777 data logs mysql-files
    
  1. 配置myql

    cd conf
    # 创建my.cnf配置文件
    vim my.cnf
    

    my.cnf内容如下

    [mysqld]
    user=mysql
    # 表示允许任何主机登陆MySQL
    bind-address = 0.0.0.0
    port=3306
    default-storage-engine=INNODB
    #character-set-server=utf8
    character-set-client-handshake=FALSE
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci
    init_connect='SET NAMES utf8mb4'
    secure-file-priv=
    [client]
    default-character-set=utf8mb4
    [mysql]
    default-character-set=utf8mb4
    

三、准备docker-compose.yml文件

# 在/usr/local/mysql目录下,创建docker-compose.yml文件
cd /usr/local/mysql
mkdir docker-compose.yml

yml内容如下:

version: "3"
services:
  mysql:
    image: mysql:8.0.18
    container_name: mysql8
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - "3306:3306"
    command:
      --default-authentication-plugin=mysql_native_password
      --lower_case_table_names=1
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/var/lib/mysql
      - ./conf/my.cnf:/etc/mysql/my.cnf
      - ./logs:/var/log/mysql
      - ./mysql-files:/var/lib/mysql-files`

四、安装启动

# 执行以下命令,拉取镜像、构建容器并启动
docker-compose up -d

五、测试

screenshot-20230706-120902.png