Docker安装Mysql,简单这几步,搞定!

70 阅读1分钟

1. 拉取镜像

# 拉取mysql8最新版本
docker pull mysql:8

image.png

2. 创建挂载目录

# 在宿主机中一次性创建多个目录
mkdir -p /docker/mysql/{data,conf,logs}  

3. 配置

在宿主机的 /docker/mysql/conf 的目录下创建 my.conf 文件,其内容如下:

注意:以下配置仅供参考,可根据其自身情况进行调整

[mysqld]
character-set-server=utf8mb4    # 强制UTF-8编码
collation-server=utf8mb4_unicode_ci
default_authentication_plugin=mysql_native_password  # 兼容旧客户端
lower_case_table_names=1        # 表名不区分大小写
max_connections=1000            # 最大连接数
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION  # 严格模式

4.授权

# 授权于文件所有者(读、写、执行)权限
# 授权于文件所属组(读、执行)权限
# 授权于文件所属组(读、执行)权限
# -R 表示递归,即 /docker/mysql 目录及其子目录和文件都会应用此权限设置
chmod 755 -R /docker/mysql

5. 启动

# -d:表示后台运行
# --name mysql:表示容器名为mysql
# -p 3306:3306:端口映射(宿主机:容器)
# -v /docker/mysql/data:/var/lib/mysql:数据持久化
# -v /docker/mysql/conf:/etc/mysql/conf.d:配置注入
# -v /docker/mysql/logs:/var/log/mysql:日志收集
# -e MYSQL_ROOT_PASSWORD=root: 强制设置root用户密码为root
# -e TZ=Asia/Shanghai:时区校准
# --restart=unless-stopped:异常自动重启

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -v /docker/mysql/data:/var/lib/mysql \
  -v /docker/mysql/conf:/etc/mysql/conf.d \
  -v /docker/mysql/logs:/var/log/mysql \
  -e MYSQL_ROOT_PASSWORD=root \
  -e TZ=Asia/Shanghai \ 
  --restart=unless-stopped \ 
  mysql:8

6. 测试连接

image.png