mac的m芯片+docker本地部署mysql8.0

一、镜像拉取

渡渡鸟的镜像小站:https://docker.aityp.com/image/docker.io/mysql:8.0.46?platform=linux/arm64

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.46-linuxarm64
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0.46-linuxarm64  docker.io/mysql:8.0.46

二、配置

1、创建network

docker network create --driver bridge chaiysnetwork

2、docker-compose.yaml配置

version: "3.8"

services:
  mysql:
    image: mysql:8.0.46
    container_name: mysql8
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: mysql123456
      MYSQL_DATABASE: chaiys
      MYSQL_USER: chaiys
      MYSQL_PASSWORD: chaiys123456
      TZ: Asia/Shanghai
    volumes:
      - ./data:/var/lib/mysql
      - ./my.cnf:/etc/mysql/my.cnf:ro
    networks:
      - chaiysnetwork

networks:
  chaiysnetwork:
    external: true

数据挂载在同级目录下的data目录内。

3、my.cnf配置

配置挂载于同目录下的my.cnf文件:

[mysqld]
# ========== 基础配置 ==========
user = mysql
port = 3306
bind-address = 0.0.0.0
server-id = 1

# 字符集
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'

# 认证插件(MySQL 8 默认 caching_sha2_password,兼容旧客户端可改为 mysql_native_password)
default-authentication-plugin = mysql_native_password
# 完全禁用 SSL
ssl = 0
require_secure_transport = OFF

# 确保不自动生成 SSL 证书
skip_ssl
# ========== 存储引擎 ==========
default-storage-engine = InnoDB

# ========== InnoDB 配置 ==========
innodb_buffer_pool_size = 512M
innodb_buffer_pool_instances = 2
innodb_log_file_size = 128M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1

# ========== 连接配置 ==========
max_connections = 200
max_connect_errors = 1000
wait_timeout = 600
interactive_timeout = 600

# ========== 查询缓存(MySQL 8 已移除,仅作说明) ==========
# query_cache_type = 0
# query_cache_size = 0

# 错误日志
log_error = /var/lib/mysql/error.log

# ========== 性能优化 ==========
tmp_table_size = 64M
max_heap_table_size = 64M
sort_buffer_size = 4M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
join_buffer_size = 4M

# ========== 安全 ==========
local_infile = 0
skip-symbolic-links

[mysql]
default-character-set = utf8mb4

[client]
default-character-set = utf8mb4
port = 3306

4、启动

docker compose up -d
posted @ 2026-07-10 13:08  旧色染新烟  阅读(30)  评论(0)    收藏  举报