Skip to content

MySQL 安装

Docker 命令行

bash
mkdir -p ~/apps/mysql/{data,conf,logs}

创建 ~/apps/mysql/conf/my.cnf

ini
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
default-time-zone='+08:00'

[client]
default-character-set=utf8mb4

utf8mb4_0900_ai_ci 适用于 MySQL 8.0+。需要兼容 MySQL 5.7 时,使用 utf8mb4_unicode_ci

bash
docker container run -d \
  --name mysql-server \
  -p 3306:3306 \
  -v ~/apps/mysql/data:/var/lib/mysql \
  -v ~/apps/mysql/conf:/etc/mysql/conf.d \
  -v ~/apps/mysql/logs:/var/log/mysql \
  -e MYSQL_ROOT_PASSWORD='vfanlee' \
  -e TZ=Asia/Shanghai \
  --restart unless-stopped \
  mysql:8.4 \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci

Docker Compose

bash
mkdir -p ~/apps/mysql/{data,conf,logs}

创建 ~/apps/mysql/conf/my.cnf(内容同命令行方案)。

~/apps/mysql/ 下创建 compose.yaml

yaml
services:
  mysql:
    image: mysql:8.4
    container_name: mysql-server
    ports:
      - '3306:3306'
    volumes:
      - ./data:/var/lib/mysql
      - ./conf:/etc/mysql/conf.d
      - ./logs:/var/log/mysql
    environment:
      MYSQL_ROOT_PASSWORD: vfanlee
      TZ: Asia/Shanghai
    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    restart: unless-stopped
bash
cd ~/apps/mysql
docker compose up -d

连接

bash
docker exec -it mysql-server mysql -uroot -p

基于 MIT 许可发布