docker安装mysql8
一、准备工作
(1)安装docker(docker-compse)
(2)创建相关目录
#创建home目录下mysql文件夹和mysql里的conf,data,log三个文件mkdir-p/data/mysql/{conf,data,log}# 赋予 conf 目录读和写的权限 (rwxr-xr-x)chmod755/data/mysql/confchmod755/data/mysql/datachmod755/data/mysql/log#创建配置文件touch/data/mysql/conf/my.cnf进入my.cof编写配置
[mysqld]# -------------------- 远程连接 --------------------# 默认密码插件,兼容旧版本的客户端default_authentication_plugin=mysql_native_password# authentication_policy=mysql_native_password,caching_sha2_password# -------------------- 字符集与排序规则 --------------------# 服务器默认字符集(MySQL 8 强烈建议 utf8mb4)character-set-server=utf8mb4# 默认排序规则(utf8mb4_unicode_ci 或 utf8mb4_general_ci,前者更精确)collation-server=utf8mb4_unicode_ci# 客户端连接时默认字符集(兼容旧客户端)init-connect='SET NAMES utf8mb4'# -------------------- 时区设置 --------------------# 默认时区(中国为 +8:00)default-time-zone='+8:00'二、运行mysql
(1)直接运行
dockerrun-d\--namemysql8\--restart=always\-p3306:3306\-eMYSQL_ROOT_PASSWORD=your_root_password\-eTZ=Asia/Shanghai\-v/data/mysql/conf/my.cnf:/etc/mysql/my.cnf:ro\-v/data/mysql/data:/var/lib/mysql\-v/data/mysql/log:/var/log/mysql\mysql:8.0.36-d 后台运行
–name mysql8 容器名称
–restart=always 容器异常退出自动重启
-p 3306:3306 映射端口(宿主机:容器)
-e MYSQL_ROOT_PASSWORD=xxx 必须设置,root 密码
-e TZ=Asia/Shanghai 设置容器时区
-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf:ro 挂载配置文件(:ro 只读)
-v /data/mysql/data:/var/lib/mysql 挂载数据目录(持久化)
-v /data/mysql/log:/var/log/mysql 挂载日志目录(持久化)
mysql:8.0.36 指定版本号
(2)使用docker compos运行
创建目录
mkdir-p/compose/envtouch/compose/env/compose.yaml进入/compose/env/compose.yaml编写
services: mysql: image: mysql:8.0.36 container_name: mysql restart: always ports: -"3306:3306"environment: MYSQL_ROOT_PASSWORD: your_root_password TZ: Asia/Shanghai volumes: - /data/mysql/conf/my.cnf:/etc/mysql/my.cnf:ro - /data/mysql/data:/var/lib/mysql - /data/mysql/log:/var/log/mysql启动
#进入目录cd/compose/env#启动dockercompose up-d