首页 > 数据库 >docker安装mysql:5.7(利用数据卷挂载方式启动)

docker安装mysql:5.7(利用数据卷挂载方式启动)

时间:2023-02-13 15:36:42浏览次数:51  
标签:zzyyuse 容器 5.7 新建 实例 mysql docker


docker安装mysql:5.7

  • ​​1、Docker Hub上面查找mysql镜像​​
  • ​​2、拉取镜像​​
  • ​​3、新建mysql容器实例​​
  • ​​4、新建my.cnf文件​​
  • ​​5、重新启动mysql容器实例再重新进入并查看字符编码​​
  • ​​6、新建库新建表插入中文测试​​
  • ​​7、删除当前容器实例并重新创建实例,之前的数据是否还在?​​

1、Docker Hub上面查找mysql镜像

docker安装mysql:5.7(利用数据卷挂载方式启动)_数据

2、拉取镜像

docker pull mysql:5.7

docker安装mysql:5.7(利用数据卷挂载方式启动)_容器_02

3、新建mysql容器实例

docker run -d -p 3306:3306 --privileged=true
-v /zzyyuse/mysql/log:/var/log/mysql
-v /zzyyuse/mysql/data:/var/lib/mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
--name mysql mysql:5.7

将日志、数据、配置文件映射到宿主机上,做个数据卷,防止删容器跑路。

4、新建my.cnf文件

通过容器卷同步给mysql容器实例。

my.cnf文件如下:

主要是设置下字符集,要不插入中文的时候会显示?

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

docker安装mysql:5.7(利用数据卷挂载方式启动)_mysql_03

5、重新启动mysql容器实例再重新进入并查看字符编码

docker restart mysql
docker exec -it mysql /bin/bash
SHOW VARIABLES LIKE 'character%';

docker安装mysql:5.7(利用数据卷挂载方式启动)_docker_04

6、新建库新建表插入中文测试

create database db01;
use db01;
create table t1(id int,name varchar(20))
insert into t1 values(1,'zhangsan')
insert into t1 values(2,'李四')

docker安装mysql:5.7(利用数据卷挂载方式启动)_mysql_05

7、删除当前容器实例并重新创建实例,之前的数据是否还在?

删除当前容器:

docker rm -f mysql

再次创建实例,数据卷映射规则还是和之前的一样

docker run -d -p 3306:3306 --privileged=true
-v /zzyyuse/mysql/log:/var/log/mysql
-v /zzyyuse/mysql/data:/var/lib/mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
--name mysql mysql:5.7

docker安装mysql:5.7(利用数据卷挂载方式启动)_容器_06

可以看到,之前的数据还是在的,防止了某些别有用心的人删容器跑路。


标签:zzyyuse,容器,5.7,新建,实例,mysql,docker
From: https://blog.51cto.com/u_15961549/6054228

相关文章

  • Docker容器数据卷
    Docker容器数据卷​​1、--privileged=true配置说明​​​​2、容器数据卷是什么?​​​​3、数据卷案例​​​​3.1宿主vs容器之间映射添加容器卷​​​​3.2读写规则映射......
  • Docker本地镜像发布到阿里云
    Docker本地镜像发布到阿里云​​1、将本地镜像推送到阿里云​​​​1.1、本地镜像素材原型​​​​1.2创建仓库镜像​​​​1.3选择个人实例​​​​1.4选择命名空间,没有......
  • Docker本地镜像发布到私有库
    本地镜像发布到私有库​​1、私有库是什么?​​​​2、将本地镜像推送到私有库实践​​​​2.1下载镜像DockerRegistry​​​​2.2运行私有库​​​​2.3制作一个新镜像......
  • Docker镜像是什么?
    Docker镜像​​1、Docker镜像是什么?​​​​1.1分层的镜像​​​​1.2UnionFS(联合文件系统)​​​​1.3Docker镜像加载原理​​​​1.4为什么Docker才200M?​​​​1.5......
  • Docker容器的ubuntu镜像配置apt国内源
    1、问题描述  在Docker容器中安装ubuntu镜像之后,默认使用的软件源是ubuntu的官网,速度非常慢,更新软件包经常报错  而且初始镜像默认没有安装vim命令,导致修改​​/etc/ap......
  • Docker常用命令
    Docker常用命令​​1、帮助启动类命令​​​​启动docker​​​​停止docker​​​​重启docker​​​​查看docker状态​​​​开机启动​​​​查看docker概要信息​​​......
  • 为什么要使用Docker?
    为什么使用Docker​​1、Docker为什么会出现​​​​2、Docker的理念​​​​3、容器与虚拟机的比较​​​​4、Docker能做什么?​​​​4.1一次构建、随处运行​​​​4.2......
  • 运维工程师监控工作之Mysql数据库监控
    目前互联网公司、金融公司信创建设最常用的数据库是Mysql,由于外部流量压力往往最终落到数据库层面,因此对Mysql数据库的监控几乎是运维工程师的看家本领。数据库监控通常分......
  • mysql带条件的插入语句
    文章目录​​一、数据库表结构​​​​1、moduleRole(中间表)​​​​2、roleInfo表​​​​3、moduleInfo表​​​​二、带条件插入的代码如下:​​一、数据库表结构1、modu......
  • mysql按照日期字段分组统计表数据
    问题描述测试表如下:上面的日期是精确到日的,我现在要按照年月来将上表的数据分组统计,并求出number的平均值。例:查出wellid='001’每月的number平均值sql语句关键词:日期字......