Docker 安装 mysql5.7

mysql安装

docker hub 上面查找 mysql 镜像

docker search mysql

image-20220728091603102

从 docker hub 上(阿里云加速器)拉取 mysql 镜像到本地标签为 5.7

docker pull mysql:5.7

image-20220728091701032

使用 mysql5.7 镜像创建容器(也叫运行镜像)

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

image-20220728091900942

简单版

使用 mysql 镜像

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

查看3306端口是否被占用

 netstat -anp |grep 3306

image-20220728092943210

启动成功

image-20220728093013205

进入容器

 docker exec -it 2c04dfeaecbe /bin/bash

image-20220728093119914

image-20220728093216316

create database db01;
use db01;
create table t1(id int,name varchar(20));
insert into t1 values(1,"z3");
select * from t1;

image-20220728093424928

外部 Win10 连接运行在 dokcer 上的 mysql 容器实例服务

image-20220728093651706

插入中文数据试试

image-20220728093845746

image-20220728093851594

为什么报错?
docker 上默认字符集编码隐患
docker 里面的 mysql 容器实例查看,内容如下:
SHOW VARIABLES LIKE 'character%'

image-20220728094044082

删除容器后,里面的 mysql 数据如何办?

容器数据卷

新建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 run:在docker中启动一个容器实例
-d:该容器在后台运行
-p 3306:3306:容器与主机映射端口为,主机3306,容器3306
--name mysql:容器运行后的名称
-v /mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysqldata/mysql/log目录下
-v /mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /mysqldata/mysql/data目录下
-v /mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 mysqldata/mysql/conf目录下
-e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root
mysql:5.7:需要运行的容器名称以及版本号

image-20220728094651729

停止之前的容器

image-20220728094711807

依旧报错

image-20220728094829688

换个名字

mysql->mysql5.7

image-20220728094851332

进入目录新建my.cnf

image-20220728095115742

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

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

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

image-20220728095511709

image-20220728095522104

再次建库建表

image-20220728095949563

插入中文数据,成功

image-20220728100054766

image-20220728100059013

image-20220728100103110

删除容器mysql5.7

image-20220728100237653

再次启动

image-20220728100253752

image-20220728100411249

image-20220728100417081

数据恢复了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值