docker安装mysql
1. 创建本地文件夹
mkdir -p /docker/mysql8/conf
mkdir -p /docker/mysql8/data
mkdir -p /docker/mysql8/log
2. 新建配置文件
在conf文件夹中创建文件:mysql.conf
文件内容:
[mysqld]
init-connect="SET collation_connection=utf8mb4_unicode_ci"
init_connect="SET NAMES utf8mb4"
max_connections=1000
bind-address=0.0.0.0
3. 拉取镜像
docker pull mysql
4. 启动镜像
docker run --restart=always --name mysql8-dev \
-v /docker/mysql8/log:/var/log/mysql \
-v /docker/mysql8/data:/var/lib/mysql \
-v /docker/mysql8/conf/mysql.conf:/etc/mysql/my.cnf \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=yyyxxx \
-e TZ=Asia/Shanghai \
-d mysql
解释:来自ChatGPT
这条命令是用来启动一个 MySQL Docker 容器的。让我们一步步地解释这条命令的各个部分:
-
docker run
:这是 Docker 的一个基本命令,用于启动一个新容器。 -
--restart=always
:这个选项指定了容器的重启策略。设置为always
意味着无论容器因何原因停止运行,Docker 都会自动重启它。 -
--name mysql8
:这里指定了容器的名称为mysql8
。通过这个名称,你可以轻松地引用或操作这个容器。 -
-v /docker/mysql8/log:/var/log/mysql
:这是一个数据卷的挂载指令,它将宿主机的/docker/mysql8/log
目录挂载到容器的/var/log/mysql
目录。这意味着容器内的 MySQL 日志会被保存到宿主机的指定目录中。 -
-v /docker/mysql8/data:/var/lib/mysql
:同样是一个数据卷的挂载,将宿主机的/docker/mysql8/data
目录挂载到容器的/var/lib/mysql
目录。这里存储的是 MySQL 数据库的数据文件。 -
-v /docker/mysql8/conf/mysql.conf:/etc/mysql/my.cnf
:将宿主机的/docker/mysql8/conf/mysql.conf
文件挂载到容器的docker/mysql8/conf/mysql.conf
文件,用于自定义 MySQL 的配置。 -
-p 3306:3306
:这是端口映射的设置。它将容器的 3306 端口映射到宿主机的 3306 端口,使得你可以通过宿主机的 3306 端口来访问容器中的 MySQL 服务。 -
-e MYSQL_ROOT_PASSWORD=yyyxxx
:这里设置了环境变量MYSQL_ROOT_PASSWORD
,其值为yyyxxx
。这个环境变量是用来设置 MySQL root 用户的密码的。 -
-d mysql
:-d
选项让容器在后台运行。mysql
指定了要使用的镜像,这里使用的是mysql
镜像。
综上所述,这条命令创建了一个名为 mysql8
的 MySQL 容器,设置了数据卷和端口映射,并配置了 root 用户密码。容器会在后台运行,并且会在停止后自动重启。