Docker 部署mysql

这篇博客介绍了如何使用Docker拉取MySQL镜像,创建并运行容器,设置编码格式,创建数据库和表,以及插入数据。在遇到汉字显示问题时,通过设置环境变量解决编码问题。此外,还展示了如何通过Dockerfile构建包含初始化脚本的MySQL镜像,确保数据的正确导入。
摘要由CSDN通过智能技术生成
#拉取一个mysql镜像
docker pull mysql:5.7
# 运行容器
#MYSQL_ROOT_PASSWORD=my-secret-pw: 设置root密码
docker run --name my-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
# 进入容器
docker exec -it 容器id /bin/bash
#进入mysql
mysql -uroot -pmy-secret-pw
# 创建数据库
create database `db_student`;
SET character_set_client = utf8;
use db_student;
# 建表
drop table if exists `user`;
CREATE TABLE user (
id tinyint(5) zerofill auto_increment not null comment '学生学号',
name varchar(20) default null comment '学生姓名',
age tinyint default null comment '学生年龄',
class varchar(20) default null comment '学生班级',
sex char(5) not null comment '学生性别',
unique key (id)
)engine=innodb charset=utf8;

# 插入数据
insert into user values('1','小明','15','初三','男');
insert into user values('2','小红','13','初二','女');
insert into user values('3','小东','14','初一','男');
insert into user values('4','小西','12','初二','男');

可看到汉字显示不出来
在这里插入图片描述
这里的编码格式是没有的,设置编码格式
在这里插入图片描述

删除该容器

docker rm -f 容器id
# 运行容器
docker run --name my-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
# 进入容器的时候设置编码格式
docker exec -it 容器id env LANG=C.UTF-8 /bin/bash

将刚才的容器删掉,使用dockerfile构建mysql镜像
dockerfile 快速部署mysql 数据库并初始化
在这里插入图片描述

dockerfile

FROM mysql:5.7
# 创建工作目录,
WORKDIR /docker-entrypoint-initdb.d
ENV LANG=C.UTF-8
#将创建的init文件复制到当前目录下并执行
ADD init.sql .

# 这里需要注意的是要使用add  而不用copy
# copy 仅单纯的复制文件 add是复制并执行(add也可以解压文件)

在这里插入图片描述

# 运行容器
docker run --name my-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d my-mysql:5.7
# 进入容器的时候设置编码格式
docker exec -it 容器id env LANG=C.UTF-8 /bin/bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季布,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值