35.Docker安装Mysql挂载Host Volume


连个文件系统有块区域Area,我们要做的是把两个Area做文件映射

jesse腾讯云上有个linux的环境,版本比较老了


简书的地址:
https://www.jianshu.com/p/b3bf647a726e
先把旧版的移除掉

yum -y remove docker docker-common container-selinux

设置新版本的docker的地址

yum-config-manager \
    --add-repo \
    https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo






安装完成后启动docker

启动后再看下docker的版本

石墨文档的地址
课程中使用的 docker 命令文档:
https://shimo.im/docs/anrlYMFEYloN52c8/ 
mount是用于集群的

这里先来实验Volume这种方式
这里的--volume可以缩写成-v



在腾讯云上新建dokcer/mysql/config的文件夹


然后在mysqk下面再去新建db文件夹。
config用来防止mysql的配置文件的

在config下新建my.cnf文件



开始调用


进入etc/docker文件夹

编辑daemon.json这个文件
vim daemon.json:编辑这个文件。但是没有这个文件。
我们用vi 新建daemon.json这个文件

把阿里云上的镜像拷贝过去


打开这个文件看一下
cate daemon.json

systemctl restart docker:重启docker

然后再来执行这个语句,他会去mysql的官方去下载mysql的镜像


这里报错了


删除这个mysql01


这里是有config和data这两个文件夹。
需要在mysql的目录下有个data文件夹

再次执行还是报错了


问题是my.cnf居然是一个文件夹

移除掉这个文件夹


在config下创建my.cnf这个文件
vi my.cng



再次查看一下,确实是一个文件了



再次执行。先把之前的删掉,再去执行

docker logs mysql01:查看执行的日志

cokder ps查看到mysql01已经启动了

docker logs mysql01:找到root的默认密码


docker exec -it mysql01 bash:exec执行base 进入到mysql01

使用root登陆,然后输入密码


使用这个命令设置mysql的密码





看到root还是只能在localhost上登陆

再来看下字符集的问题,依然没有utf-8


退出这个容器:exit

进入docker下的mysql文件夹 下面已经有很多mysql的文件在这里了

进入config文件夹下,这里有我们的my.cnf这个文件

vim my.cnf这个文件


加入字符集的配置

docker restart mysql01这个容器

再次进去这个mysql容器然后root登陆,

再次查看我们的字符集。已经生效了

exit:先退出这个容器
dcoker stop mysql01:然后停止这个容器

docker rm mysql01:删除这个mysql01的容器


docker ps -a没有任何容器是在运行的

我们还可以使用这个命令,把原来的配置文件和数据都加载过来


执行上面那段命令后,再用docker ps 查看容器

还在启动,启动我们看下字符集是否还是原来我们设置的那样


进入mysql01这个容器

root登陆进去。面是password123
看到字符集还是之前我们设置的







 

猜你喜欢

转载自www.cnblogs.com/wangjunwei/p/11061684.html