在同一个docker容器中部署两个不同的mysql数据库

打印 上一主题 下一主题

主题 844|帖子 844|积分 2532

原因:
        之前不绝用的都是mysql5.7的,新项目需要用mysql8.0以上的版本,就想着看看能不能部署两个不同版本的mysql数据库。
效果:
        乐成部署了两个不同版本的mysql数据库。
过程中遇到的题目
        首先提示一下mysql8.0以上的版本默认区分巨细写。一旦部署很难更改,以是要在部署是就声明不区分巨细写。
        1.数据挂载题目,两个数据库不能挂载在同一文件夹下,要区分开
最初:
        

修改后:
        

        

        2.端标语题目:本人利用的是虚拟机docker中的mysql。
        修改前利用的是3306:3306和3307:3307
        修改后利用的是:
        

        

        这里保举一篇文章,从这里获得了许多感悟https://segmentfault.com/a/1190000022777204

下面贴上源代码:
1.拉取镜像

  1. docker pull mysql:8.0
复制代码
2.查看镜像是否拉取乐成
  1. docker images
复制代码
3.创建mysql容器 #注意    \ 前肯定加空格      \ 后不是回车
  1. docker run \
  2. -d \
  3. --restart=always \
  4. -p 3307:3306 \
  5. --name mysql8.0 \
  6. -v "/mysql/data/"conf:/etc/mysql/conf.d \
  7. -v "/mysql/data/"logs:/var/log/mysql \
  8. -v "/mysql/data/"data:/var/lib/mysql \
  9. -e MYSQL_ROOT_PASSWORD=123456  \
  10. mysql:8.0 \
  11. --lower_case_table_names=1
复制代码
-v 那大概需要再根目录下创建mysql文件夹(本人是手动创建的,不创建应该也没啥事)

另一个容器:
        
  1. #在用户目录下创建mysql目录用于存储mysql数据信息
  2. mkdir ~/mysql
  3. cd ~/mysql
  4. #执行如下命令,启动mysql容器
  5. docker run -id \
  6. -p 3306:3306 \
  7. --name=mysql5.7 \
  8. --restart=always \
  9. -v /root/mysql/conf:/etc/mysql/conf.d \
  10. -v /root/mysql/logs:/var/log/mysql \
  11. -v /root/mysql/data:/var/lib/mysql \
  12. -e MYSQL_ROOT_PASSWORD=123456 \
  13. mysql:5.7
复制代码
注:最主要的就是 -v 那两个容器地点不能一样 
如果是新数据库部署好了乐成运行,但就是外部连接不上,那就要看看是不是数据库权限大概其他题目了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表