mysql主从复制搭建--待实践完善

news/2024/4/24 4:57:49/文章来源:https://blog.csdn.net/xumengdi_xmd/article/details/130338931

一、什么是mysql主从复制

参考链接:MySQL主从介绍_rain_yunlx的博客-CSDN博客

Linux下搭建Mysql主从复制详细步骤(Mysql版本5.7.35)_linuxmysql主从_Direct_的博客-CSDN博客

Linux环境MySQL数据库主从复制保姆级教程_linux主从复制_小学生波波的博客-CSDN博客(参照这个即可)

也可参考这个:MySQL主从配置详解 - 简书

1.msyql主从又叫做replication,AB复制。A、B两条机器做主从后,在A上写数据,另一台B也会跟着写数据,两者数据实时同步。

2.mysql主从是基于binlog的,主服务器上必须开启binlog才能进行主从。

binlog:是一个二进制文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是不会记录查询语句。

3.主从复制过程

(1)Slave上的IO_thread连接上Master,并请求从指定日志文件的指定位置或者从最开始的日志之后的日志内容。

(2)Master接收到来自Slave的IO_thread的请求后,通过负责复制的IO进程根据请求信息读取指定日志指定位置之后的日志信息,返回给Slave的IO_thread。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到Master端的bin-log file以及bin-log  pos.

(3)Slave的IO_thread接收到信息后,将接收到的日志内容依次天机到Slave端的relay-log文件的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉Master要从哪个binlog的哪个位置开始往后的日志内容发送给Slave。

(4)Slave的sql_thread检测到relay-log中新增加了内容后,会马上解析relay-log的内容成为Master端真实执行时候的那些可执行的内容,并在数据库中执行。

5.mysql支持的肤质类型

(1)基于语句的复制:在主服务器上执行的SQL语句,在从服务器上执行同样的语句;Mysql默认采用基于语句的复制,小吕比较高。

(2)基于行的复制:把改变的内容复制过去,而不是把命令在服务器上执行一遍

(3)混合类型复制:默认采用基于语句的复制,一旦发现语句无法精确复制时,就会采用基于行的复制。

6.应用场景

(1)从服务器作为主服务器的实时数据备份

(2)主从服务器实现读写分析(主写从读),从服务器实现负载均衡

(3)把多个服务器根据业务重要性进行拆分访问(从服务器根据业务进行拆分)

二、搭建步骤

    1.准备工作

    首先准备两台机器,A和B, A主B从,每台机器上都安装了mysql,并将mysql启动;

  第一步:  修改主机名并配置主机映射:

[root@localhost ~]# hostnamectl set-hostname mysql1

[root@localhost ~]# hostnamectl set-hostname mysql2

两个节点配置/etc/hosts文件,修改为如下: #ip地址应改成自己主机对应的ip

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.30.11.12  mysql1

172.30.11.13  mysql2
 

第二步:两台主机都关闭防火墙和SELinux服务

关闭防火墙命令如下:

systemctl stop firewalld        //关闭防火墙

systemctl disable firewalld   //将防火墙设置开机不自启

关闭selinux服务

vi /etc/selinux/config  //进入到此目录下将selinux的状态设置为disabled

    1.1 mysql安装步骤--后续添加

         

 1.2 配置主

     (1)修改A机器的mysql配置

              vim /etc/my.cnf

    (2)添加如下内容

              #配置唯一的服务器ID,一般使用IP最后一位

               server-id=100

               #开启log-bin二进制日志

              log-bin=/var/log/mysql/mysql-bin

               #添加,允许从服务器更新二进制日志

               log-slave-updates=true

                #下面这两个不是必须要配置 #主要是为了使用带事务的InnoDB进行复制设置时尽可能                 提高持久性和一致性

                innodb_flush_log_at_trx_commit = 1

                sync_binlog = 1

   (3)    修改完保存后重新加载配置文件

             /etc/init.d/mysqld restart  或者  systemctl start mysql

                登录mysql:mysql -uroot -p

   (4)重启完成后mysql目录下会生产两个文件   mysql-bin开头的文件是实现主从的根本

   (5)创建mysql用户,用户名为testuser,密码为testpasswd

        以下都在mysql中执行,

        create user 'repl'@'slave_ip' identified by '1234';

        或者:

        在主库上建立用于主从复制的账号

        mysql> CREATE USER 'rep1'@'%';

        mysql> GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'%' identified by 'password';

        查看主库的二进制日志的名称:

        mysql> show master status\G

 

   (6)保持状态

        flush tables with read lock;

    (7)记住 File和Position,执行命令show master status;

1.3配置从

     在从库上面测试之前建立的复制账号是否可以连接主库:

        mysql -urep1 -p'password' -h192.168.169.131

(1)配置server ID,需要和主不一样

             vim /etc/my.cnf

              添加如下的内容:

              server-id=200

        #添加,开启中继日志,从主服务器上同步日志文件记录到本地

        relay-log=relay-log-bin

        #添加,定义中继日志文件的位置和名称

        relay-log-index=slave-relay-bin.index

(2)修改完配置文件后,重启mysqld服务

               /etc/init.d/mysqld restart 或者  systemctl start mysql

(3)将A机器上的备份数据库都拷贝到B机器上,我的备份都存放在/tmp目录下,且都是sql结尾的文件

                scp 192.168.177.100:/tmp/*.sql /tmp/

 (4)拷贝完A的数据库后在B上创建相对应的数据库

         create database zrlog;

        create database wordpress;

  (5)在B机器上恢复数据库

        mysql zrlog < /tmp/zrlog.sql

        mysql wordpress < /tmp/wordpress.sql

    (6)B机器登陆mysql,执行命令       

                stop slave;

    (7)change master:

        # 配置同步,注意 master_log_file 和 master_log_pos 的值要与Master的一致

             mysql> CHANGE MASTER TO MASTER_HOST='192.168.169.131',MASTER_USER='rep1',MASTER_PASSWORD='password',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=682;

# 启动同步,如有报错执行 reset slave;
mysql> start slave;
 

      (8)开始服务

                start slave;

         (9)如何判断主从是否配置成功

                   使用命令mysql> show slave status\G

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_102804.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SWAT水文模型】ArcSWAT输入准备:土地利用/土壤/气象数据

ArcSWAT输入准备&#xff1a;土地利用/土壤/气象数据 1 土地利用数据的处理1.1 数据下载 2 土壤库建立2.1 数据下载 3 气象数据库参考 1 土地利用数据的处理 1.1 数据下载 下载地址如下&#xff1a; 中科院1km土地利用数据 清华大学高精度土地利用数据 2 土壤库建立 SW…

如何将pdf图片文字转换成word 文字word图片怎么转换pdf

如今大家在工作中常常会运用到电脑来办公&#xff0c;电脑的运用大大提高了我们的工作效率&#xff0c;在带来机会的同时同样也带来了新挑战。 pdf图片怎么转换成word文档&#xff1f;PDF格式是一种常用的文档格式&#xff0c;它可以保持文档内容和格式的完整性&#xff0c;但是…

【UE】制作简单的山脉地形

在上一篇博客中&#xff08;【UE】使用Quixel Bridge下载免费贴图&#xff09;&#xff0c;介绍了如何下载免费贴图&#xff0c;本篇博客介绍如何使用这些贴图制作地形贴图。 1. 创建地形 2. 用雕刻工具绘制地形 3. 新建两个材质函数&#xff0c;分别命名为“GrassAuto”、“R…

离散数学期末复习第一章 数理逻辑

离散数学 离散数学是研究各种各样的离散量的结构及离散量之间的关系一门学科&#xff0c;是计算机科学中基础理论的核心课程。 什么是连续变量&#xff1f; 在一定区间内可以任意取值的变量叫连续变量&#xff0c;其数值是连续不断的&#xff0c;相邻两个数值可作无限分割&a…

在线问诊小程序系统方案以及价值

方案价值zlzwgz0127 1.扩大医院流量 a.预约到院 在线展示专家的介绍&#xff0c;更能彰显实力&#xff0c;吸引患者来院就医&#xff0c; 用户可选择在线问诊和预约到院 b.社区团购导流 与我们合作社区团购给医院的体检产品导流 c.专家直播导流 通过专家直播吸引潜在患者…

观察者设计模式(Observer Design Pattern)[论点:概念、组成角色、相关图示、示例代码、框架中的运用、适用场景]

文章目录 概念组成角色相关图示示例代码框架中的运用适用场景 概念 观察者设计模式&#xff08;Observer Design Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一种对象间的一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象&#xff0c;当…

机器学习 Rider数据集分析和预测

介绍数据集 ride_id&#xff1a;乘车ID rideable_type&#xff1a;乘车类型 started_at&#xff1a;开始日期 ended_at &#xff1a;结束日期 start_station_name&#xff1a;开始站的名字 start_station_id&#xff1a;开始站的ID end_station_name&#xff1a;结束站的名字 …

内网渗透之横向移动rdpwinrmwinrsspnkerberos

0x00 准备 环境&#xff1a;god.org cs上线 win2008web 提权利用ms14-058 抓取hash和明文密码(当获取到其他主机就重复提权和抓取密码) 扫描存活主机&#xff0c;扫描端口 代理转发-转发上线&#xff0c;生成反向连接木马&#xff0c;绑定监听器&#xff0c;上传至web根目录(方…

中小企业真的需要CRM吗?

如果你的企业没有CRM客户关系管理系统&#xff0c;企业主需要问问自己&#xff0c;他们将利用什么来扩展业务。福布斯进行的研究恰当地表明&#xff0c;充分利用CRM系统的企业可以将销售额提高29%。 中小企业定期产生大量客户&#xff0c;这可能会难以管理。这正是CRM系统在有…

《编码——隐藏在计算机软硬件背后的语言》精炼——第12章(二进制加法器)

“I hear and I forget. I see and I remember. I do and I understand”——Confucius 人类计算二进制数的方法 我们先计算本位的结果&#xff0c;称为加法位&#xff1b;再计算是否进位&#xff0c;称为进位位。 搭建二进制加法器 我们用逻辑门来搭建二进制加法器。它的思想…

高可用消息服务消息一致、可靠性、链路稳定性核心关注点

面临的问题 初期业务主要的场景是直播间的群聊消息以及一小部分的单聊消息。由于是教育场景&#xff0c;所以业务在划分聊天室的时候是以班级为单位进行划分的&#xff0c;假设每个聊天室的人数为500人。 问题一&#xff1a;用户的维护 直播场景的群聊与微信等常见的群聊在用…

OpenPCDet复现过程记录

0、前言 OpenPCDet项目之前我就复现过&#xff0c;一个很优秀的项目&#xff0c;这几天又需要用到这个项目&#xff0c;再次复现遇到了不少问题&#xff0c;特此记录复现的流程 1、环境准备 1.1、前置条件 以下是我安装的版本 CUDA 11.3CUDNN 8.2.1 CUDA和CUDNN安装可以参考…

61 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库用户

文章目录 61 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库用户61.1 创建用户示例 61.2 查看用户示例 61.3 修改用户61.3.1 修改用户名61.3.2 修改用户示例61.3.3 修改用户密码61.3.4 修改用户密码示例 61.4 删除用户示例 61.5 用户授权示例 61.6 删除用户权限示例 61…

c实例练习笔记(拓展)

本博文参考题目的地址看右边----》C技能树 我跟你说&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;c语言有bool类型&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;你是不是百度跟你说没有只有c才有&#xff1f; 是有的&#xff01;&#xf…

统计学 实验5

8.14 总体平均值&#xff08;μ&#xff09;&#xff1a;7.0 cm 总体方差&#xff08;σ&#xff09;&#xff1a;0.03 cm 样本平均值&#xff08;x̄&#xff09;&#xff1a;6.97 cm 样本方差&#xff08;s&#xff09;&#xff1a;0.0375 cm 样本大小&#xff08;n&#xff…

数百家数科公司齐聚用友BIP技术大会,共享企业数智化领先实践

4月19日&#xff5e;4月21日&#xff0c;由用友公司主办的“2023用友BIP技术大会“在用友产业园&#xff08;北京&#xff09;盛大召开&#xff0c;用友介绍了更懂企业业务的用友BIP-iuap平台&#xff0c;并发布了全面数智化能力体系&#xff0c;助力企业升级数智化底座&#x…

构建高效数据中台——数据只有被使用起来,才能创造价值

产品经理们时常会碰到这种问题&#xff1a; 我刚上线一个功能&#xff0c;请研发同志们帮我拉个数据出来分析&#xff0c;却被残酷告知需要排期。 我这里急得跺脚&#xff0c;但也只能理解。 数据研发们每天有查不完的数据和写不完的表&#xff0c;业务部门要的数据迟迟拿不到&…

CCBN 2023看点分析:国产8K摄像机国产化替代趋势增强

4月21日&#xff0c;为期3天的CCBN 2023&#xff08;第29届中国国际广播电视信息网络展览会&#xff09;在北京首钢会展中心圆满落幕&#xff0c;CCBN展会是亚洲广播电视设备展览会&#xff0c;也是中国广电行业规模最大、影响力最强的国际性展会之一&#xff0c;更是广电行业内…

同为科技(TOWE)防雷科普篇(二)——雷击灾害急救方法大全

前 言 当雷击发生时&#xff0c;空气中的各种微粒互相碰撞和摩擦便会使该空气介质两面的正负电荷的量持续积累&#xff0c;这时加于该空气介质的电压也会同时增加&#xff0c;当局部电压达到当时条件下空气的击穿电压时&#xff0c;该空气介质的局部便会发生电击穿而持续成为等…

23种设计模式-代理模式

代理模式 在代理模式&#xff08;Proxy Pattern&#xff09;中&#xff0c;一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中&#xff0c;我们创建具有现有对象的对象&#xff0c;以便向外界提供功能接口。 介绍 意图&#xff1a;为其他对象提供…