首页 > 数据库技术 > 详细

docker--部署mysql5.7并初始化

时间:2020-02-17 21:42:39      阅读:94      评论:0      收藏:0      [点我收藏+]

前戏

大家可能都在服务器上搭建过mysql,或许遇到过不少的坑。但是使用docker部署mysql则很容易

mysql的镜像文档:https://hub.docker.com/_/mysql

docker部署mysql

拉取mysql 5.7的镜像

docker pull mysql:5.7

查看镜像

docker images

启动镜像

docker run --name zzmysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=zou123456 -d mysql:5.7

技术分享图片

说明:

  • --name  后面是指定的容器名
  • -p 代表端口映射,格式为 宿主机映射端口:容器运行端口
  • -e 代表添加环境变量
  • MYSQL_ROOT_PASSWORD是root用户的登陆密码
  • mysql:5.7 是下载的镜像+版本(若不指定版本,该命令会重新下载mysql最新的镜像)
  • -d 后台启动

进入容器内部

# 最简单的进入方式
docker exec -it <contrainerId>  /bin/bash
# 这种方式下,数据库才可输入和展示中文数据 docker exec -it <contrainerId> env LANG=C.UTF-8 /bin/bash

我们这里使用简单的进入方式

docker exec -it zzmysql /bin/bash

技术分享图片

执行建库建表插入数据

-- 建库
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,初二,);

技术分享图片

查询下user表里的数据

技术分享图片

可以看出我们查询出来的数据name,classs,sex没有显示,这是因为这个镜像是外国人写得,所以对中文默认不支持

解决不显示中文的问题

这里解决方法有两种,第一种是在进入容器的时候设置环境变量,使用中文就可以了,命令如下,上面也说过

docker exec -it zzmysql env LANG=C.UTF-8 /bin/bash
env LANG=C.UTF-8 设置语言为utf-8

 第二种使用dockerfile,在初始化的时候就设置好

创建一个init.sql文件,内容如下(和上面的一样)

技术分享图片

创建dockerfile,内容如下

FROM mysql:5.7
WORKDIR /docker-entrypoint-initdb.d
ENV LANG=C.UTF-8
ADD init.sql .

注意:dockerfile和init.sql在同一目录

ADD既可以复制也可以执行init.sql文件,copy只复制

构建docker镜像

docker build -t mysql:zou .

技术分享图片

 启动容器进入容器内部

docker run --name zzmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=zou123456 -d mysql:zou

技术分享图片

 连接数据库,查看数据是否显示

技术分享图片

docker--部署mysql5.7并初始化

原文:https://www.cnblogs.com/zouzou-busy/p/12147058.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!