当前位置:   article > 正文

Docker 安装MySQL 5.7(超详细文图说明及MySQL配置)_docker下载mysql5.7超详细

docker下载mysql5.7超详细
1) 下载MySQL5.7镜像
# 默认下载MySQL5.7最新版本(其他版本可以指定比如 docker pull mysql:5.7.34)
docker pull mysql:5.7
  • 1
  • 2

下载成功截图

2) 查看已下载的docker镜像
docker images
  • 1

3) 创建MySQL容器并运行

方式一 (快捷方式,仅配置root密码)

docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
  • 1

方式二 (配置容器MySQL数据、配置、日志挂载宿主机目录)

# 宿主机创建数据存放目录映射到容器
mkdir -p /usr/local/docker_data/mysql/data

# 宿主机创建配置文件目录映射到容器 
mkdir -p /usr/local/docker_data/mysql/conf #(需要在此目录下创建"conf.d"、"mysql.conf.d"两个目录)
mkdir -p /usr/local/docker_data/mysql/conf/conf.d # (建议在此目录创建my.cnf文件并进行相关MySQL配置)
mkdir -p /usr/local/docker_data/mysql/conf/mysql.conf.d

# 宿主机创建日志目录映射到容器
mkdir -p /usr/local/docker_data/mysql/logs


#  CentOS 7 不建议用这个命令
docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d  -v /usr/local/docker_data/mysql/data:/var/lib/mysql -v /usr/local/docker_data/mysql/conf:/etc/mysql/ -v /usr/local/docker_data/mysql/logs:/var/log/mysql mysql:5.7

# 经测试上面这行命令在 CentOS 7 下目录挂载失败。
# 在上面这行命令的基础上增加了--privileged=true参数,让容器拥有真正的root权限
docker run --privileged=true --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d  -v /usr/local/docker_data/mysql/data:/var/lib/mysql -v /usr/local/docker_data/mysql/conf:/etc/mysql/ -v /usr/local/docker_data/mysql/logs:/var/log/mysql mysql:5.7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

参数说明:

参数

说明

–name mysql5.7

容器名称

-p 3306:3306

端口映射(宿主机端口:容器端口)

-e MYSQL_ROOT_PASSWORD=123456

容器的环境变量(root账号初始化密码)

-d

后台运行容器

-v /usr/local/docker_data/mysql/data:/var/lib/mysql

容器MySQL数据目录映射(宿主机:容器)

-v /usr/local/docker_data/mysql/conf:/etc/mysql/

容器MySQL配置目录映射(宿主机:容器)

-v /usr/local/docker_data/mysql/logs:/var/log/mysql

容器MySQL日志目录映射(宿主机:容器)

mysql:5.7

指定docker镜像 (可以是镜像名称或者镜像ID)

4) 进入MySQL容器及创建账号
docker exec -it mysql5.7 bash


mysql -u root -p


# 创建用户并开启远程登录
CREATE USER '你的账号'@'%'  IDENTIFIED BY '你的密码';


# 创建数据库并设置字符集
CREATE DATABASE `库名` CHARACTER SET 'utf8mb4';


# 给账号授权数据库
GRANT ALL PRIVILEGES ON `库名`.* TO '你的账号'@'%';


# 刷新权限
FLUSH PRIVILEGES;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
5) Docker常用命令
# 删除容器(参数可以是容器名称或容器ID)
docker rm mysql5.7
# 删除镜像
docker rmi mysql5.7
# 启动容器
docker start mysql5.7
# 启动容器/重启容器
docker restart mysql5.7
# 停止容器
docker stop mysql5.7
# 进入容器
docker exec -it mysql5.7 bash
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
点击查看MySQL my.cnf配置介绍

OK大功告成 ! !!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/537520
推荐阅读
相关标签
  

闽ICP备14008679号