返回顶部
首页 > 资讯 > 数据库 >MySQL5.6 主从复制(简单版)
  • 956
分享到

MySQL5.6 主从复制(简单版)

2024-04-02 19:04:59 956人浏览 薄情痞子
摘要

几种常见的Replication拓扑结构:1.单master----多slaveslave之间互不通信,只和master通信适用于读压力比较大的应用场景,将读操作分布到不同的slave中,减小master压

几种常见的Replication拓扑结构:

1.单master----多slave

slave之间互不通信,只和master通信

适用于读压力比较大的应用场景,将读操作分布到不同的slave中,减小master压力


2.多master----单slave 

    Mysql貌似暂不支持,个人认为通过slave多实例实现


3.主动模式的Master----Master

当前master是另一master的slave

问题:同时更新一个操作产生冲突


4.主动-被动模式的Master----Master

只能有一个可读


5.级联复制的Master----Slaves----Slaves

结构1中的replication导致slave连上master的线程过多,replication的压力过大

级联可以一定程度上缓解master的压力,但是需要设置log_slave_updates=1。

每级slave是下级slave的master,所有重做中继日志同样需要写入binlog中


下面安装的是最基本的单slave单master

第一步:准备工作

        操作系统Centos7.1

        数据库mysql-5.6.30

        主host:172.17.220.145

        从host:172.17.220.220


第二步:设置防火墙

        Centos7.1默认防火墙为firewalld,需要通过yum安装iptables-service

        分别在主从服务器中:

                vi /etc/sysconfig/iptables

                在“-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT”后增加

                -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

                systemctl start iptables.service 


第三步:修改主数据库的配置文件my.cnf 

        server-id=145(主服务器的ID值,建议为ip最后一段)

        log_bin = /opt/mysql/data1/mysql-bin.log(二进制日志)

        log_slave_updates = 0 (0表示slave将复制事件写进自己的二进制日志)

        binlog_fORMat=MIXED  (二进制日志类型)


第四步:修改从数据库的配置文件my.cnf 

        server-id=224

        log_bin = /opt/mysql/data1/mysql-bin.log(如果该slave为其他slave的master,必须开启二进制)

        #relay_log=

        read_only=1 (防止从库修改数据,从库只读)

        log_slave_updates = 1


第五步:创建master用户

        登录主数据库

        mysql> GRANT REPLICATION SLAVE ON *.* TO 'mypri'@'172.17.220.145' IDENTIFIED BY ‘123456’;


第六步:重启主从数据库

        service mysql restart


第七步:假如主库存在数据

        5.1 先对主库表,不让数据再进行写入

               mysql> flush tables with read lock;

        5.2 主库 mysqldump -uroot -p --all-databases >all.sql(导出所有数据库)

        5.3 若从库不存在数据,则导入all.sql到从库

             mysql -uroot -p <all.sql

            从库本身存在数据,先备份从库,再删除从库中的数据,仅保留mysql、information_schema、performance_schema

        5.4 主数据库 unlock table

        5.5 主数据库 show master status; 获取master_log_file与master_log_pos


第八步: 从服务器slave启动

        change master to master_host='172.17.220.145',

                master_user='mypri',

                master_passWord='123456',

                master_log_file='mysql-bin.000021',(show master status获取)

                master_log_pos=1212, (show master status获取)

                master_connect_retry=60;(超时重连)


        启动slave:start slave;

        show slave status\G  验证是否成功

        成功与否主要看:

                   Slave_IO_Running=Yes

                   Slave_SQL_Running=Yes

错误信息:

        1. slave have equal MySQL Server UUIDs

            这个问题的主要原因是本人进行了虚拟机复制,导致主从数据库的server_id或server_uuid一致

            查看server_id:show variables like 'server_id';

            查看server_uuid:show variables like 'server_uuid';

            server_id一致,修改my.cnf文件

            server_uuid一致

                    删除从库中的$data_path/data/auto.cnf

            然后重启从库

查看主库上的几个重要参数:

            show variables like '%autocommit%';  自动提交是否开启

            show variables like '%innodb_flush_method%'; innodb引擎的表刷新方式 O_DIRECT

            show variables like '%sync_binlog%'; 

                    sync_binlog=0:不主动刷新二进制日志文件的数据到磁盘上,由操作系统决定

                    sync_binlog=N:向二进制日志文件写入N条SQL或N个事务后,二进制日志文件的数据刷新到磁盘上;


您可能感兴趣的文档:

--结束END--

本文标题: MySQL5.6 主从复制(简单版)

本文链接: https://lsjlt.com/news/37476.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL5.6 主从复制(简单版)
    几种常见的Replication拓扑结构:1.单master----多slaveslave之间互不通信,只和master通信适用于读压力比较大的应用场景,将读操作分布到不同的slave中,减小master压...
    99+
    2024-04-02
  • mysql5.6基于GTID主从复制设置
    1.主库和从库都必须要开启binlog2.主库和从库server-id不相同3.建立主从辅助用户grant replication slave on . to 'rep'@'192.168.200.%' i...
    99+
    2024-04-02
  • MySQL5.6怎么建立GTID主从复制
    本篇内容介绍了“MySQL5.6怎么建立GTID主从复制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 配置mysql5.6.x GTID主从复制方法
    下文给大家带来关于配置mysql5.6.x GTID主从复制方法,感兴趣的话就一起来看看这篇文章吧,相信看完配置mysql5.6.x GTID主从复制方法对大家多少有点帮助吧。本文环境:   主库...
    99+
    2024-04-02
  • 怎样简单解析mysql主从复制
    怎样简单解析mysql主从复制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mysql主从复制(冷备)1.create rep...
    99+
    2024-04-02
  • mysql5.6主从复制出现报错有什么解决办法
    本文主要给大家简单讲讲mysql5.6主从复制出现报错有什么解决办法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql5.6主从复制出现报错有什么解决...
    99+
    2024-04-02
  • 两个版本的Mysql 主从复制
    MySQL  AB复制 Mysql AB 复制又称主从复制,实现的是数据同步,要求最好所有的mysql版本相同,如果版本不一致,从服务器版本要高于主服务器,而且版本不一致不能做双向复制。...
    99+
    2024-04-02
  • mysql主从复制--一主一从
    1、启动实例3306和33072、检查主库配置[root@client 3306]# egrep  "log-bin|server|sock"  my.cnfsocket &n...
    99+
    2024-04-02
  • mysql主从复制
    一.主从复制简介 2015年5月28日11时,12小时后恢复,损失:平均每小时106.48W$ 1)高可用 2)辅助备份 3)分担负载 复制是 MySQL 的一项功能,允许服务器将更改从一个实例复制到另一个实例。 1)主服务器将所有数据和...
    99+
    2019-04-07
    mysql主从复制
  • Redis主从复制
    Redis支持简单易用的主从复制(master-slave replication)功能,该功能可以让从服务器成为主服务器的即使备份服务器。 作用: 主从备份,防止服务器宕机; 读写分离,分担主服务器的任务; 任务分离,从服务器分别担任备...
    99+
    2017-12-16
    Redis主从复制
  • PostgreSQL12-主从复制
    注意:PostgreSQL 12对主从复制实现和配置做了重大改进,如废弃了recovery.conf,并将参数转换为普通的PostgreSQL配置参数,使得配置群集和复制更加简单。 PostgreSQL数据库支持多种复制解决方...
    99+
    2019-09-10
    PostgreSQL12-主从复制
  • postgresql12 主从复制
    前言 PostgreSQL 12 的一个重要变化是 recovery.conf 配置文件中的参数合并到 postgresql.conf,recovery.conf 不再使用 ; 参见:https://www.postgresql.or...
    99+
    2021-02-24
    postgresql12 主从复制
  • 【MySQL】主从复制
    纸上得来终觉浅,绝知此事要躬行。 概述 复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多...
    99+
    2015-07-01
    【MySQL】主从复制
  • redis 主从复制
    redis 主从复制 master 节点提供数据,也就是写。slave 节点负责读。 不是说master 分支不能读数据,也能只是我们希望将读写进行分离。 slave 是不能写数据的,只能处理读请求 主从实现 客户端 127.0...
    99+
    2017-04-16
    redis 主从复制
  • mysql主从复制
    两台mysql版本号为5.7以上   主库配置文件设置(注意设置在[mysqld]项中) 主库的ip地址为:192.168.1.1 server-id=1 #唯一id,主库设置1 log-bin=mysql-bin #日志记录...
    99+
    2018-10-04
    mysql主从复制 数据库入门 数据库基础教程 数据库 mysql
  • mysql 主从复制
    1, 准备二台机器或者服务器 ,保持mysq 版本一样或者版本相差不大; 主机:114.215.198.39 从机:116.62.234.228 2    新建一个数据库 我的数据库是hlqzxm; 进入主机的mysql 配置文件中修改配置...
    99+
    2021-10-15
    mysql 主从复制 数据库入门 数据库基础教程 数据库 mysql
  • mysql5.7 主从复制
    注意事项:主库全库备份完查看该文件binlog pos标记位文件名为:binlog_pos_innodb 记录当时mysql备份时主库的标记为 环境说明:两台安装在CentOS7.4的MySQL5.7.2...
    99+
    2024-04-02
  • mongodb主从复制
    服务器架构: 角色 ip地址 端口 主服务器 192.168.8.81 27017 从服务器 192.1...
    99+
    2024-04-02
  • 浅谈Redis主从复制以及主从复制原理
    目录面临问题解决办法主从复制主从复制的作用主从复制启用面临问题 1. 机器故障。我们部署到一台 Redis 服务器,当发生机器故障时,需要迁移到另外一台服务器并且要保证数据是同步的。...
    99+
    2024-04-02
  • windows版的mysql主从复制环境搭建
    背景 最近在学习用Spring Aop来实现数据库读写分离的功能。 在编写代码之前,首先是要部署好mysql的环境,因为要实现读写分离,所以至少需要部署两个mysql实例,一主一从,并且主从实例之间能够自动同步,因为我的本机内存并不高,所以...
    99+
    2021-12-22
    windows版的mysql主从复制环境搭建
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作