Docker集群部署-MySQL主从复制

这篇具有很好参考价值的文章主要介绍了Docker集群部署-MySQL主从复制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验目的

利用Docker实现MySQL主从复制架构的部署,实现1主1从集群配置。

实验准备

要求实验主机能够连接外网,已经正确安装Docker,并关闭防火墙和selinux。

【实验步骤】

新建主服务器容器实例3307

# docker run -p 3307:3306 --name mysql-master \

-v /mydata/mysql-master/log:/var/log/mysql \

-v /mydata/mysql-master/data:/var/lib/mysql \

-v /mydata/mysql-master/conf:/etc/mysql \

-e MYSQL_ROOT_PASSWORD=root  \

-d mysql:5.7

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

不能再用3307因为会引起冲突

(2)进入/mydata/mysql-master/conf目录下新建my.cnf,填写内容

[mysqld]

## 设置server_id,同一局域网中需要唯一

server_id=101

## 指定不需要同步的数据库名称

binlog-ignore-db=mysql  

## 开启二进制日志功能

log-bin=mall-mysql-bin  

## 设置二进制日志使用内存大小(事务)

binlog_cache_size=1M  

## 设置使用的二进制日志格式(mixed,statement,row)

binlog_format=mixed  

## 二进制日志过期清理时间。默认值为0,表示不自动清理。

expire_logs_days=7  

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。

## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致

slave_skip_errors=1062

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器 (3)修改完配置后重启master实例

#docker restart mysql-master                              

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 (4)进入mysql-master容器

# docker exec -it mysql-master /bin/bash

# mysql -uroot -proot

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 (5)master容器实例内创建数据同步用户

#  CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

#  GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 (6)新建从服务器容器实例3308

# docker run -p 3308:3306 --name mysql-slave \

-v /mydata/mysql-slave/log:/var/log/mysql \

-v /mydata/mysql-slave/data:/var/lib/mysql \

-v /mydata/mysql-slave/conf:/etc/mysql \

-e MYSQL_ROOT_PASSWORD=root  \

-d mysql:5.7

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 (7)进入/mydata/mysql-slave/conf目录下新建my.cnf

# [mysqld]

## 设置server_id,同一局域网中需要唯一

server_id=102

## 指定不需要同步的数据库名称

binlog-ignore-db=mysql  

## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用

log-bin=mall-mysql-slave1-bin  

## 设置二进制日志使用内存大小(事务)

binlog_cache_size=1M  

## 设置使用的二进制日志格式(mixed,statement,row)

binlog_format=mixed  

## 二进制日志过期清理时间。默认值为0,表示不自动清理。

expire_logs_days=7  

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。

## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致

slave_skip_errors=1062  

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 注意这里没有#,多打了个#,所以后面进不去从节点容器

(8)修改完配置后重启slave实例

docker restart mysql-slave

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 (9)在主数据库中查看主从同步状态

show master status;

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 (10)进入mysql-slave容器

docker exec -it mysql-slave /bin/bash

mysql -uroot -proot

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 (11)在从数据库中配置主从复制

#docker exec -it mysql-slave /bin/bsh

Mysql -uroot -p

change master to master_host='宿主机ip', master_user='slave', master_password='123456', master_port=3307, master_log_file='mall-mysql-bin.000001', master_log_pos=617, master_connect_retry=30;

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

(12)在从数据库中查看主从同步状态

#show slave status \G;

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

 (13)在从数据库中开启主从同步

Mysql>start slave

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

(14)查看从数据库状态发现已经同步

Mysql>show slave  status \G;

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

(15)主从复制测试

主机新建库-使用库-新建表-插入数据

主机新建库-使用库-新建表-插入数据

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

我做这里一直同步不过去:问题在于我先在从节点建立了数据库,而我又在主结点建立了同名的数据库,这就导致了问题,因为你在建立连接的情况下,在主节点创建数据库之后,会同步到从节点,而从节点已经有了这个同名的数据库,就会出现错误

老师帮我解决:断开连接,也就是stop,之后drop database zhangna;

这样就解决了问题

 我stop主从结点,发现变为NO;

在start之后又变成yes了;

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器

Docker集群部署-MySQL主从复制,计算机基础实习,docker,mysql,容器文章来源地址https://www.toymoban.com/news/detail-529713.html

到了这里,关于Docker集群部署-MySQL主从复制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s搭建mysql集群实现主从复制

    名称 版本 操作系统 IP 备注 K8S集群 1.20.15 Centos7.9 192.168.11.21 192.168.11.22 192.168.11.23 21为k8s-master 22为k8s-node01 23为k8s-node02 MySql 5.7 Centos7.9 一主两从 nfs服务器 Centos7.9 192.168.11.24 共享目录为/nfs 11.24: 11.21/22/23(所有K8S节点): 11.21: 创建rbac 创建sc 启动: 11.21: 此文件定义了两个

    2024年02月15日
    浏览(41)
  • Docker容器部署OpenCV,打造高效可移植的计算机视觉开发环境

    海鲸AI-ChatGPT4.0国内站点:https://www.atalk-ai.com 在计算机视觉领域,快速部署和测试算法是研究和开发的关键。OpenCV作为一个强大的开源计算机视觉库,广泛应用于各种图像处理和视频分析任务。然而,配置OpenCV环境可能会因为不同操作系统和依赖库的版本差异而变得复杂。这

    2024年04月26日
    浏览(44)
  • 【MySQL】主从复制&部署

    SQL 什么是SQL? Structure Query Language(结构化查询语言) 它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。 数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。 优点 简单

    2024年02月08日
    浏览(35)
  • MySQL主从复制环境部署

    通过将MySQL的某一台主机(master)的数据复制到其他主机(slaves)上,并重新执行一遍来执行 复制的这一过程叫做主从复制。 通过主从复制可以实现后续的读写分离,部署高可用架构等打下基础。 在进行同步前,最好使两边数据库内容保持一致、版本号尽量一致、操作系统

    2024年02月15日
    浏览(41)
  • Docker mysql 主从复制

    目录 介绍:为什么需要进行mysql的主从复制 主从复制原理: ✨主从环境搭建 主从一般面试问题: 介绍:为什么需要进行mysql的主从复制 在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用 「主从复制」 。 比如:在复杂的业务系统中,有

    2024年01月17日
    浏览(39)
  • java计算机毕业设计仓库管理小程序【附源码+远程部署+程序+mysql】

    本系统 (程序+源码) 带文档lw万字以上    文末可领取本课题的JAVA源码参考 选题背景: 随着电子商务及物流行业的迅猛发展,仓库管理作为供应链中的重要环节,其效率和准确性直接关联着企业运营的成本与顾客满意度。在传统的仓库管理模式下,手工记录、数据不同步

    2024年04月27日
    浏览(43)
  • docker高级(mysql主从复制)

    数据库密码需要设置成自己的!!! 1、创建容器master13307 2、进入/mysql/mysql-master/conf目录下新建my.cnf 复制下面,保存 3、修改完配置后重启master实例 4、进入mysql-master容器 5、在主数据库中查看主从同步状态 6、新建从服务器容器实例mysql-slave 13308 7、重启slave 8、在从数据库s

    2024年02月11日
    浏览(47)
  • docker实现mysql 主从复制

                                                                   💧记录一下如何在Docker中启动两个MySQL容器来进行主从复制💧           🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳 《数据结构与算法》专栏的

    2023年04月11日
    浏览(43)
  • 第90讲:MySQL数据库主从复制集群原理概念以及搭建流程

    1.1.什么是主从复制集群 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主

    2024年01月20日
    浏览(56)
  • Springboot计算机毕业设计户外徒步系统小程序【附源码】开题+论文+mysql+程序+部署

    本系统 (程序+源码) 带文档lw万字以上   文末可获取一份本项目的java源码和数据库参考。 研究背景 随着信息化时代的快速发展,人们的生活方式也在不断变革。户外运动作为一种健康、时尚的休闲方式,正逐渐受到越来越多人的青睐。徒步旅行作为户外运动的一种重要形

    2024年04月27日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包