栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

CentOS7下Docker 部署Mysql环境并实现主从复制

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CentOS7下Docker 部署Mysql环境并实现主从复制

  1. 准备两台或多台联网的并部署了Docker的CentOS7虚拟机

    这里暂且把图片里的192.168.0.101设为主服务器,192.168.0.102设为从服务器。主服务器对外暴露3307端口,从服务器对外暴露3308端口。另外一点,记得把虚拟机的防火墙都关咯!

  2. 创建Mysql容器

# 主服务器执行这条命令
docker run -itd --name my1 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 从服务器执行这条命令
docker run -itd --name my2 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
  1. 修改主服务器的Mysql配置文件
    Docker的mysql容器图

    进入mysql容器

    默认的配置文件在容器内的 /etc/mysql/my.cnf中
 # 需要主动安装vim命令 先apt-get update 再 apt-get install vim 
 vim  /etc/mysql/my.cnf

添加下面框选出来的三行,其中,server-id随便取,只要保证唯一性就好。

修改完配置文件要重启mysql

# 重启容器内的mysql
service restart mysql
# 再退出容器,重启docker中的容器
docker restart '你的mysql容器id'

登录mysql后执行sql命令

# 可以通过任何客户端连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
  1. 修改从服务器的Mysql配置文件
    和第4步一样的步骤,注意修改my.cnf里的server-id
  2. 配置主从复制
    登录主服务器,执行命令show master status; 记下File与Position的值

    再登录从服务器,执行下面一条sql命令
change master to
	master_host='192.168.0.101', # 主服务器ip
	master_user='root', # 主服务器的用户名
	master_log_file='mysql-bin.000001', # 与上图的File值对应
	master_log_pos=1365, # 与上图的Position值对应
	master_port=3307, # 主服务器的对外暴露的mysql端口
	master_password='123456'; # 主服务器的登录密码

再执行一条sql命令

# 开启slave
start slave;

最后检查主从复制是否开启成功,在从服务器中执行sql命令show slave status;

如果上面框选的两个属性的值都为yes,恭喜你,主从复制功能已成功开启。你可以去主服务器的mysql中新增数据库、表或记录。然后再去看看从服务器中mysql是否自动生成了新的记录。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320573.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号