新增:《Docker安装MySQL》(将 VitePress 版本升级为 v1.0.0-alpha.26)

This commit is contained in:
2022-10-30 18:27:59 +08:00
parent 9a6d0b546a
commit ad01e7e8c4
6 changed files with 384 additions and 172 deletions

View File

@@ -0,0 +1,106 @@
---
title: Docker 安装 MySQL 详细步骤
author: 查尔斯
date: 2022/10/30 17:36
categories:
- MySQL快速入门
tags:
- MySQL
- Docker
- 容器
showComment: false
---
# Docker 安装 MySQL 详细步骤
::: tip 笔者说
笔者下面的步骤及配置是基于指定版本的实践,大多数程序大多数情况下在相差不大的版本时可以直接参考。(当然了,即使是非 Docker 方式安装程序也是一样道理)
:::
## 拉取镜像
::: warning 笔者说
拉取镜像时需要明确镜像版本Tag
:::
不指定版本Tag就拉取镜像那拉取下来的镜像版本Tag默认是 `latest`(最新的)。`latest` 会跟随 Docker Registry 中的记录变化,现在拉取下来的 `latest` 是 x1 版本,但隔了一段时间后你在其他机器上再拉取 `latest` 可能就是 x2 版本了。
变化的版本,不利于生产环境部署的稳定。无论是后续在其他环境部署还是扩容集群等场景均要求根据架构要求指定好版本。
```shell
docker pull mysql:8.0.29
```
## 运行容器
::: warning 笔者说
**下方的配置,切记要根据个人实际情况来修改。**
:::
- 容器的名称
- 镜像名称:版本
- 是否设置自启动?
- 环境变量配置
- 是否端口映射?
- 映射的话映射到宿主机哪个端口?
- 是否挂载卷?
- 挂载的话要挂载宿主机哪个目录?
- ......
- 等自定义配置
```shell
# MYSQL_ROOT_PASSWORDroot 用户密码
docker run -d \
--name mysql mysql:8.0.29 \
--restart=always \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 13307:3306 \
-v /opt/disk/docker/volumes/mysql/conf:/etc/mysql/conf.d \
-v /opt/disk/docker/volumes/mysql/data:/var/lib/mysql \
-v /opt/disk/docker/volumes/mysql/logs:/logs \
# 将 MySQL 8.0 默认密码策略修改为原来策略 (MySQL 8.0 对其默认策略做了更改,会导致密码无法匹配)
--default-authentication-plugin=mysql_native_password \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci \
--explicit_defaults_for_timestamp=true \
--lower_case_table_names=1
```
## 验证
服务器开放好相应端口或设置好安全组规则后,直接用 Navicat 连接即可。
## Docker Compose脚本
如果你是用的 docker-compose 来安装,下方附上相应 docker-compose.yml 脚本内容。
```yaml
version: '3'
services:
mysql:
container_name: mysql
image: mysql:8.0.29
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123456
ports:
- 13307:3306
volumes:
- /opt/disk/docker/volumes/mysql/conf:/etc/mysql/conf.d
- /opt/disk/docker/volumes/mysql/data:/var/lib/mysql
- /opt/disk/docker/volumes/mysql/logs:/logs
command:
# 将 MySQL 8.0 默认密码策略修改为原来策略 (MySQL 8.0 对其默认策略做了更改,会导致密码无法匹配)
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
```
编写好 docker-compose.yml 脚本后,在脚本同级目录执行下方命令即可。
```shell
docker-compose up -d
```