Docker同时安装MySQL和MariaDB
2019-09-28 本文已影响0人
一个鸡蛋壳儿
MySQL和MariaDB的关系
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
看完MySQL和MariaDB的关系,我们一定会想:既然两者有这么紧密的关系,那么同时安装、启动的时候,是否会有冲突呢?
答案是肯定的,比如:`本文主要讲解的端口号`。我们先看两者的安装,然后在配置阶段,将MariaDB的端口号与MySQL区分开。
Docker安装MySQL
-
查找Docker Hub上MySQL的镜像
docker search mysql
-
选择某个镜像安装(这里我们选择centos/mysql-57-centos7)
docker pull centos/mysql-57-centos7
-
启动MySQL
docker run -p 3306:3306 --name mysql-57 -v /my/mysql/conf:/etc/mysql/conf.d -v /my/mysql/logs:/logs -v /my/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xxx -d centos/mysql-57-centos7
Docker安装MariaDB
-
查找Docker Hub上MariaDB的镜像
docker search mariadb
-
选择某个镜像安装(这里我们选择官方镜像)
docker pull mariadb
-
启动MariaDB
docker run -v /my/mariadb/:/var/lib/mariadb -p 3309:3309 -e MYSQL_ROOT_PASSWORD=xxx --privileged=true --restart unless-stopped --name mariadbs -d mariadb:latest
注意:MariaDB启动使用的3309端口,MySQL使用的默认3306端口。
启动完成,docker ps
查看
MariaDB端口配置
虽然MariaDB启动使用的3309端口,我们远程访问时,却无法访问。
-
进入容器目录
docker exec -it 容器id bash
-
更新配置文件
vi /etc/mysql/my.cnf
-
重启
docker restart 容器id
再次远程连接访问,正常!