docker-compose安装部署mysql5.7.32

该博客介绍了如何使用Docker Compose配置MySQL服务,包括设置环境变量、端口映射和数据持久化。同时,通过init.sql文件初始化数据库,创建用户、数据库及表,并插入默认数据。提供了`docker-compose up -d`和`docker-compose down`命令以启动和停止服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vi docker-compose.yml

version: '3'
services:
  mysql:
    restart: always
    image: "mysql:5.7.32"
    container_name: mysql57
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    volumes:
      - /data/mysql/db:/var/lib/mysql
      - /data/mysql/conf/my.cnf:/etc/mysql/my.cnf
      - /data/mysql/init:/docker-entrypoint-initdb.d/

my.cnf

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

init.sql

init.sql 可以放置在 /data/mysql/init 目录,初始化脚本,非必须。

use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
create database test;
use test;
create table user
(
    id int auto_increment primary key,
    username varchar(64) unique not null,
    email varchar(120) unique not null,
    password_hash varchar(128) not null
);
insert into user values(1, "admin","admin@qq.com","passwd");
insert into user values(2, "zhangsan","zhangsan@qq.com","passwd");
insert into user values(3, "lisi","lisi@qq.com","passwd");
docker-compose up -d
docker-compose down

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值