0
点赞
收藏
分享

微信扫一扫

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


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(利用数据卷挂载方式启动)_mysql

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(利用数据卷挂载方式启动)_容器_03

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

docker restart mysql

docker exec -it mysql /bin/bash

SHOW VARIABLES LIKE 'character%';

docker安装mysql:5.7(利用数据卷挂载方式启动)_容器_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

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


举报

相关推荐

0 条评论