一、直接启动
1. 拉取mysql 镜像
docker pull mysql:5.7
2. 创建mysql 容器
docker create --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7
3.启动容器
docker start mysql
二、挂载文件方式启动
1.如果存在,先停止并删除容器
docker stop mysql
docker rm mysql
2.创建挂载目录
mkdir -p /data/mysql/{conf,data,logs}
chown -R 1000:1000 /data/mysql
3.创建my.cnf 文件,具体配置参考官网或网上,这里给出自己的配置
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
# 禁用主机名解析
skip-name-resolve
character-set-server = utf8mb4
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
docker-compose-mysql.yml
services:
db:
image: mysql:5.7
container_name: mysql57
environment:
MYSQL_ROOT_PASSWORD: root@123456
TZ: Asia/Shanghai
volumes:
- /data/mysql/data:/var/lib/mysql
- /data/mysql/logs:/var/log/mysql
- /data/mysql/conf.d:/etc/mysql/conf.d
ports:
- "3306:3306"
restart: always
privileged: true
4.创建并运行mysql容器
docker run -p 3308:3306 --restart=always --privileged=true --name mysql \
-v /data/mysql/conf:/etc/mysql/conf.d \
-v /data/mysql/logs:/logs \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
-e MYSQL_ROOT_PASSWORD=root :指定root用户的密码为root