2019独角兽企业重金招聘Python工程师标准>>>
之前写过在CentOS中用yum安装MariaDB,但我对这种方式还不是特别满意。主要体现在两个方面,一是我不知道安装MariaDB后它会修改哪些系统文件,产生多少垃圾,而当我要卸载MariaDB的时候,必须要快速、干净;二是我想练习数据库主从同步的配置,不能在一台服务器上跑多个MariaDB实例。
这时候,Docker的光芒简直要亮瞎我的双眼!用Docker部署MariaDB,心情好就随手运行几个容器,一言不合就干掉几个容器,这个feel倍儿爽!废话扯了这么多,开始上代码:
一.安装docker
在CentOS 7系统中安装Docker很简单
1.添加yum源,编辑文件:/etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
2.安装Docker
$ sudo yum install docker-engine
3.设置开机启动
$ sudo systemctl enable docker
$ sudo systemctl start docker
二.部署MariaDB
1.拉取镜像文件
从默认的从库拉取镜像速度非常慢,可以配置国内加速。比如阿里云镜像服务
$ sudo pull mariadb:latest
2.运行容器
$ sudo docker run --name MariaDB \
-p 3307:3306 \
-v /data/db/mariadb:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mariadb:10.1
稍微解释一下:
-p 3307:3306
我的主机要对外提供数据库服务,服务端口是3307。这里我需要把主机的3307端口映射到容器的3306端口(MariaDB默认3306)。
-v /data/db/mariadb:/var/lib/mysql
表示为容器添加数据卷,这样我的数据就独立了,随便删除容器都不会清除数据文件。/data/db/mariadb是我主机的目录,/var/lib/mysql是容器中MariaDB默认的数据目录。
-e MYSQL_ROOT_PASSWORD=123456
这是设置数据库ROOT账户的默认密码,最好配置上。如果忘记配置,需要查看容器文件。
好了,这样就可以通过主机的3307端口来连接数据库了!
3.停止、启动容器
首次运行容器后,就可以根据容器名停止、重新启动容器了。
停止容器
$ sudo docker stop MariaDB
启动容器
$ sudo docker start MariaDB