Docker中安装mysql

1、查看镜像

      到 Docker hub中查询需要的镜像:https://hub.docker.com/_/mysql

2、拉取镜像

      进入root用户,使用 sudo docker pull mysql:5.7 拉取镜像,如果不加版本号例如sudo docker pull mysql,则默认拉取最新版本。

      su root        默认密码是vagrant

      sudo docker pull mysql:5.7

 3、查看是否拉取成功

       sudo docker images

         下载的镜像是mysql ,版本是5.7,镜像id是 xxxxx

 4、创建并启动一个mysql容器

       注意:创建一个容器的时候,一个容器就相当于一个小的linux系统,系统里面安装着mysql系统,因此我们为了方便维护这个容器中的mysql,需要将容器中的mysql文件进行挂载。挂载到虚拟机的linux中。下面的命令中 -v 就是在创建容器的时候,进行对应挂载。以后启动其他容器也是同样需要挂载。

sudo 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:将容器中的mysql配置文件夫挂戟到主机
-v /mydata/mysql/log:/var/log/mysql:将容器中的mysql日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql:将容器中的mysql数据文件夹挂戟到主机
-e MYSQL_ROOT_PASSWORD=root 初始化 root 用户的密码
-d mysql:5.7 :以后台方式运行,使用哪个镜像启动的mysql容器

 

  5、查看运行的容器

        sudo docker ps       

         证明mysql 容器 已经运行起来了,可以通过mysql界面工具进行操作查看    

6、配置mysql

vi /mydata/mysql/conf/my.cnf
输入以下内容后按ESC输入":wq"保存退出

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysald]
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


注意:解决MySQL连接慢的问题在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve

解释:
skip-name-resolve:跳过域名解析

 配置mysql后,需要进行重启mysql

7、挂载的原理:

        执行 sudo docker exec -it mysql /bin/bash 命令,进入后执行ls,发现也是在linux系统中,说明我们mysql容器本身就是一个小的linux环境。如果要使用这个容器中的端口或者维护这个容器中mysql 的文件,则不方便,因此需要进行挂载到容器外面的linux系统中。挂载在创建容器时候已经执行,可查看容器外的linux系统的目录。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值