#### 前言
yum源或者二进制方式部署mysql服务,会显得笨重,不利于操作,现对其进行docker化部署,利于实现我们的功能,并能减少mysql服务对硬件资源的占用。
#### 部署方式
##### 安装docker
详见: https://blog.csdn.net/weixin_42715225/article/details/105957222
##### 安装docker-compose工具
详见: https://blog.csdn.net/weixin_42715225/article/details/105957570
##### 配置亚洲上海时间
> echo
'Asia/Shanghai'
>
/
etc
/
timezone
##### 配置docker的network
> docker network create nature
##### 方式一:shell+docker
```
cat > docker
-
mysql
56
.sh <<-EOF
docker run -d \
--name mysql56 \
--restart always \
-p 3306:3306 \
--network nature \
-e MYSQL_ROOT_PASSWORD=
'root@1234'
\
-e MYSQL_USER=nature \
-e MYSQL_PASSWORD=nature@1234 \
-e MYSQL_DATABASE=nature \
-
v
/etc/timezone
:
/etc/timezone
:ro \
-
v
/etc/localtime
:
/etc/localtime
:ro \
-
v
/data/volumes/mysql
:
/var/lib/mysql
:Z \
mysql:5.6 \
--character-
set
-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--lower-
case
-table-names=1
EOF
```
> bash docker
-
mysql
56
.sh
##### 方式二:docker-compose
```
cat > docker-compose.yml <<-EOF
version: "3.5"
services:
mysql:
image: mysql5.6
container_name: mysql56
hostname: mysql56
ports:
- 3306:3306
environment:
- MYSQL_DATABASE=nature
- MYSQL_USER=nature
- MYSQL_PASSWORD=root@1234
- MYSQL_ROOT_PASSWORD=nature@1234
volumes:
- /etc/localtime:/etc/localtime:ro
- /data/etc/timezone:/etc/timezone:ro
- /data/volumes/mysql:/var/lib/mysql:Z
command: ["--character-set-server=utf8mb4","--collation-server=utf8mb4_unicode_ci","--lower-case-table-names=1"]
restart: always
tty: true
networks:
default:
external:
name: nature
EOF
```
> docker-compose up -d