一、前言
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不香吗?