1、创建工作目录
mkdir -p /apps/mysql/{mydir,datadir,conf,source}
2、编写docker-compose.yaml文件
路径: /apps/mysql/docker-compose.yaml
version: '3'
services:
mysql: #如果服务器中的docker已经部署了多个mysql需要修改,防止新部署的mysql覆盖原有的,自己设定名称即可
restart: always
image: mysql:5.7.18 #根据项目需求使用对应的mysql版本
container_name: mysql-lable #存放mysql的docker容器的名称
volumes: #下面的路径需要以情况来修改,通过pwd命令查看当前的文件绝对路径
- /apps/mysql/mydir:/mydir
- /apps/mysql/datadir:/var/lib/mysql
- /apps/mysql/conf/my.cnf:/etc/my.cnf
# 数据库还原目录 可将需要还原的sql文件放在这里
- /apps/mysql/source:/docker-entrypoint-initdb.d
environment: #设置自己mysql的密码,创建一个新的数据库
- "MYSQL_ROOT_PASSWORD=yourpassword"
- "MYSQL_DATABASE=yourdbname"
- "TZ=Asia/Shanghai"
ports:
# 使用宿主机的3306端口映射到容器的3306端口
# 宿主机:容器
- 3306:3306
3、编写数据库配置文件my.cnf
路径: /apps/mysql/conf/my.cnf
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
character-set-client-handshake=FALSE
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
4、启动
切换到docker-compose.yaml所在的文件夹下
docker-compose up -d #启动
docker-compose ps #查看容器
5、运行mysql
docker exex -it 容器名称 /bin/bash
mysql -uroot -p123456