准备文件

  • 创建工作根目录,例如:在/root下新建文件夹docker-compose
  • 再在docker-compose下新建文件夹mysql
  • 再在mysql下新建文件夹config
  • 在config下vim my.cnf
    [mysqld]
    user=mysql
    default-storage-engine=INNODB
    character-set-server=utf8
    secure_file_priv=/var/lib/mysql
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    

docker-compose.yml

  • 在工作目录,例如:/root/docker-compose/mysql文件夹下,新建文件docker-compose.yml
    version: '3'
    services:
      mysql:
        image: mysql
        restart: always
        container_name: mysql
        environment:
          MYSQL_ROOT_PASSWORD: 实际密码
          TZ: Asia/Shanghai
        ports:
          - 3306:3306
        volumes:
          - /root/docker-compose/mysql/data:/var/lib/mysql
          - /root/docker-compose/mysql/config/my.cnf:/etc/mysql/my.cnf
        command:
          --max_connections=1000
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_general_ci
          --default-authentication-plugin=mysql_native_password
    

restart: always(重启策略,那么每次重启docker时都会重启相关的容器)

  • 启动容器
docker-compose up -d
# mysql8.4版本开始,废弃了: --default-authentication-plugin=mysql_native_password
# 改为这样
--mysql-native-password=ON
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐