Docker同时安装MySQL和MariaDB

MySQL和MariaDB的关系

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

看完MySQL和MariaDB的关系,我们一定会想:既然两者有这么紧密的关系,那么同时安装、启动的时候,是否会有冲突呢?

答案是肯定的,比如:`本文主要讲解的端口号`。我们先看两者的安装,然后在配置阶段,将MariaDB的端口号与MySQL区分开。

Docker安装MySQL

  1. 查找Docker Hub上MySQL的镜像

    docker search mysql
    
  2. 选择某个镜像安装(这里我们选择centos/mysql-57-centos7)

    docker pull centos/mysql-57-centos7
    
  3. 启动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

  1. 查找Docker Hub上MariaDB的镜像

    docker search mariadb
    
  2. 选择某个镜像安装(这里我们选择官方镜像)

    docker pull mariadb
    
  3. 启动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 查看

image.png

MariaDB端口配置

虽然MariaDB启动使用的3309端口,我们远程访问时,却无法访问。

  1. 进入容器目录

    docker exec -it 容器id bash
    
  2. 更新配置文件

    vi /etc/mysql/my.cnf
    
image.png
  1. 重启

    docker restart 容器id
    

再次远程连接访问,正常!

diboot 简单高效的轻代码开发框架 (求star)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容