[mysql] docker安装mysql

243 阅读2分钟

一、前言

mysql的安装方式有很多种:

1)使用安装包安装

2)centos:使用yum安装 ; Ubuntu使用apt-get来安装

3)使用源码编译安装

4)使用docker安装

今天我就用 容器化的docker 安装mysql,简单化,具体如何安装docker 可参考官网 ,值得注意的是centos必须7.0以上;

机器参数配置: 操作系统:CentOS 7.2 64位 实例:一核2g 硬盘: 40g 带宽: 1Mbps

二、创建mysql实例

2.1 拉取镜像

docker pull mysql:latest

3.2 查看docker镜像容器

1)查看docker镜像

[root@iZpthobwhsh512Z ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               latest              9228ee8bac7a        2 weeks ago         547MB

2)开启第两个数据库 分别对应8001 和8002 端口

docker run -itd --name mysql8001 -p 8001:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker run -itd --name mysql8002 -p 8002:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

3)查看容器状态和容器运行端口

[root@iZpthobwhsh512Z ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
24350f8ea155        mysql               "docker-entrypoint.s…"   2 weeks ago         Up 4 hours          33060/tcp, 0.0.0.0:8002->3306/tcp   mysql8002
6fcbb41f6f2a        mysql               "docker-entrypoint.s…"   2 weeks ago         Up 5 hours          33060/tcp, 0.0.0.0:8001->3306/tcp   mysql8001
[root@iZpthobwhsh512Z ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      18752/redis-server  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3145/sshd           
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      8798/python         
tcp6       0      0 :::3306                 :::*                    LISTEN      12561/mysqld        
tcp6       0      0 :::8001                 :::*                    LISTEN      21793/docker-proxy  
tcp6       0      0 :::8002                 :::*                    LISTEN      21360/docker-proxy  
tcp6       0      0 :::33060                :::*                    LISTEN      12561/mysqld   

4)如何从终端进入和退出mysql容器

docker exec -it 24350f8ea155  bash

其中mysql 配置存放在 /etc/mysql 如果我们要对它的配置文件进行修改的话 那就修改其中的my.cnf

退出mysql容器命令终端 Ctrl + d 退出并停止容器;

5)扩展一些docker 基础命令

a、从容器里面拷文件到宿主机?

​ docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径

docker cp 6fcbb41f6f2a:/etc/mysql/my.cnf /

b、从宿主机拷文件到容器里面

​ docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径

docker cp ./my.cnf  6fcbb41f6f2a:/etc/mysql/

三 、总结

有人会问docker安装mysql会不会影响到性能,其实这个倒是不用担心,况且,如果部署几十台上百台mysql的话,用docker不香吗?