docker 安装mysql 并挂载
1.拉取mysql5.7 镜像
docker pull mysql:5.7
2.创建挂载地址
mkdir -p /docker/data/mysql/data
mkdir -p /docker/data/mysql/conf
mkdir -p /docker/data/mysql/log
3.创建挂载配置文件
此处需要创建 配置文件 ,负责后续会报 找不到/etc/mysql/conf 错误。
vim /docker/data/mysql/conf/mysqld.cnf
写入下面内容
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
secure_file_priv=/var/lib/mysql
default-time_zone = '+8:00'
# Custom config should go here
!includedir /etc/mysql/conf.d/
# 更改字符集 如果想Mysql在后续的操作中中文不出现乱码,则需要修改配置文件内容
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
4.运行并镜像 复制即可
docker run -d --restart=always --privileged=true --name mysql5.7 -p 13306:3306 -v /docker/data/mysql/data:/var/lib/mysql -v /docker/data/mysql/my.cnf:/etc/mysql/my.cnf -v /docker/data/mysql/log:/var/log/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
展示
docker run -d #后台运行
–restart=always #开启一直执行
–privileged=true #容器内为root权限
–name mysql5.7 #运行容器名称
-p13306:3306 #端口映射 13306 为宿主机端口
-v /docker/data/mysql/data:/var/lib/mysql #挂载数据文件
-v /docker/data/mysql/my.cnf:/etc/mysql/my.cnf #挂载 配置文件
-v /docker/data/mysql/log:/var/log/mysql #挂载日志
-e TZ=Asia/Shanghai #设置时区
-e MYSQL_ROOT_PASSWORD=123456 #设置密码
mysql:5.7 #镜像名称
–character-set-server=utf8mb4 #设置字符 否则会乱码
–collation-server=utf8mb4_general_ci
5.执行运行成功后进入 容器内部
docker exec -it 容器名称 bash