docker安装mysql和数据挂载

docker安装mysql和数据挂载

说明:这里本文小结在docker里面安装mysql并且配置其编码集为utf8,并将MySQL容器的部分文件映射到Linux主机

小编使用的环境
Linux虚拟机centos7(vagrant)
MySQL安装为5.7版本(可以自己选择版本)
使用了阿里云镜像加速


下面是小编整理的文章需要自行查看:
安装centos7
安装docker并使用阿里云镜像加速


一、安装mysql镜像

docker官网安装镜像的入口

  • 一些常用的命令
    权限不够加sudo或者切换到root用户命令su root

查看运行的容器:docker ps
进入mysql容器: docker exec -it mysql /bin/bash
查看拉取的镜像:docker images
启动mysql容器:docker strat mysql
退出容器:exit

  • 打开docker官网搜索mysql
  • 如图在这里插入图片描述

点击进入mysql进去就可以看见安装命令和mysql的版本

开始拉取MySQL镜像

安装最新版本的命令:sudo docker pull mysql
安装指定版本的命令例如:sudo docker pull mysql:5.7

版本图
版本图

这边附上小编安装的图示:
在这里插入图片描述

  • 这样mysql就安装完成了

使用数据卷(数据挂载)

使用这条命令(命令最后一行-d mysql自行指定你安装mysql)

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

参数说明

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root

简单的说就是在虚拟机主机创建出
/mydata/mysql/conf
/mydata/mysql/log
/mydata/mysql/data
3个多级目录和mysql容器里面的目录对应起来,以后就无需在进入mysql容器编辑和查看数据,在我们创建的目录操作和参看即可
我们也称其为数据卷或者数据挂载

数据挂载完整后我们将mysql的字符集修改为utf8

  1. 第一步: cd /mydata/mysql/conf/
  2. 第二步:vi my.cnf

my.cnf文件的内容如下

  • 参数skip-name-resolve:跳过域名解析/解决 MySQL 连接慢的问提
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve 

说明:按i进如编辑模式,按esc退出编辑模式,在同时按(shift:)最后输入wq,保存退出
如图(权限不够就加sudo):

在这里插入图片描述
最后我们重启mysql

docker restart mysql(我的容器名称为mysql)
我们在本地就可以使用navicat来连接我们安装好的mysql了

配置下自启动

sudo docker update 名称  --restart=always

例如mysql:
sudo docker update mysql --restart=always

注明:mysql8的安装配置文件有些变化。配置文件有些变动

三、容器自启动

sudo docker update 容器名称 --restart=always

例如:
sudo docker update redis --restart=always

sudo docker update mysql --restart=always
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

suqinyi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值