docker中安装Mysql

一、官方安装Mysql

首先在docker镜像中pull一下MySQL我这里安装的是5.7的:

docker pull mysql:5.7

然后输入官网中安装MySQL的命令:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=111 -dp 3306:3306 mysql:5.7

其中 --name后面的 mysql 是安装MySQL的名称,-e后边的MYSQL_ROOT_PASSWORD=111这个是数据库密码 -dp指的是数据库的端口号,后面mysql:5.7是mysql的版本号;

安装完之后 输入命令 docker exec -it mysql /bin/bash 之后再输入mysql -uroot -p 加你的密码之后就可以进入数据库;

在这种安装方式下,数据库中默认是不支持汉字数据的,所以我们可以选择第二种方式:mysql的生产安装方式;

如果已经按照第一个方式安装的此时不想用第一种方式,这个时候在命令窗口输入:

docker rm -f mysql 

就可以把Mysql容器删除;

二、mysql的生产安装方式

这种安装方式其实使用了数据卷;

什么是数据卷:数据卷是一种特殊的目录关系,它将宿主机目录与容器中的目录进行了直接关联,在任何一端目录中的文件写操作,就是对数据卷目录的操作,在另一端都会发生相应变化。相互关联的宿主机端目录与容器端目录,我们一般称为数据卷的挂载点; 数据卷的设计目的就是为了实现数据持久化。数据卷完全独立于容器的生命周期。因此,容器删除时,不会删除其挂载的数据卷。

这个安装命令为:

 docker run --name mysql -e MYSQL_ROOT_PASSWORD=111 -v /root/mysql/log:/var/log/mysql -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -dp 3306:3306 mysql:5.7

接着输入命令:

docker exec -it mysql /bin/bash

以及输入 mysql -uroot -p +你的数据库密码,之后进入数据库;

进入数据库之后输入:show variables like 'character%';查询支持的字符类型:

 此时还是拉丁文;如果想要支持汉字的则要将类型改为utf8:退出数据库,进入mysql目录下的conf文件中 新建一个名称为:my.cnf的文件,这个文件就相当于在本机电脑中下载mysql里面的my.ini文件,作用就是修改字符编码的;

在my.cnf文件中输入:

[client]
default_character_set=utf8

[mysql]
default_character_set=utf8

[mysqld]
character_set_server=utf8

输入之后,退出数据库,退出mysql文件,输入下面命令重启mysql:

docker restart mysql

重启之后输入:docker exec -it mysql /bin/bash   命令重新进入mysql容器中

接着再进入mysql中,再输入 show variables like 'character%';命令之后就会看到字符编码类型由拉丁文改为了utf8类型,如下图:

这样就可以在数据库中插入带汉字的值了;

注意,在这个时候把该mysql容器删除之后,该数据并不会被删除;当重新创建一个 mysql容器时,该数据库内容就会显示出来,这就使得在生产方式下有一定的保障;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值