2 mysql主从复制配置

1、节点以及网络配置

前置条件:
已经在linux上安装好了一主一从或者一主多从的mysql

2、具体配置

主服务器 172.20.0.2
从服务器 172.20.0.3

  1. 首先主机mysql配置:
    打开mysqld.cnf:
    添加如下配置:
# 主服务器ID 必须唯一
server-id=2# 开启及设置二进制日志文件名称
log_bin=mysql-bin# 要同步的数据库
binlog-do-db =db_java1234# 不需要同步的数据库
binlog-ignore-db=mysql    
binlog_ignore_db=information_schema
binlog_ignore_db=performation_schema
binlog_ignore_db=sys# 设置logbin格式
binlog_format= MIXED  # binlog日志格式,mysql默认采用statement,建议使用mixed
  1. 从服务器,打开mysqld.cnf:
server-id=3
relay-log=mysql-relay
  1. 在主服务器执行如下语句,需要单独创建一个用户授权给从节点使用,用来同步数据。

依次执行如下语句:

CREATE USER 'slave1'@'172.20.0.3' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'172.20.0.3';
FLUSH PRIVILEGES;

查看主服务器状态;

SHOW MASTER STATUS

在这里插入图片描述
4. 从机创建连接主服务器的IP,用户,密码以及日志文件和位置;

CHANGE MASTER TO MASTER_HOST='172.20.0.2', MASTER_USER='slave1', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;

启动主从复制

START SLAVE;

查看从机状态;

SHOW SLAVE STATUS

在这里插入图片描述
有两个yes才OK;
假如有 No 或者 Connecting,请看下方日志 或者找到Mysql日志文件查看具体问题;

3、binlog_format详解

mysql复制主要有三种方式:

1.基于SQL语句的复制(statement-based replication, SBR)
2.基于行的复制(row-based replication, RBR)
3.混合模式复制(mixed-based replication, MBR)

对应的,binlog的格式也有三种:STATEMENTROWMIXED

  1. STATEMENT模式(SBR)
    每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题)。

  2. ROW模式(RBR)
    不记录每条sql语句的上下文信息,仅需记录哪条数据被修改了,修改成什么样了。而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨。

  3. MIXED模式(MBR)
    以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。

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

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

相关文章

硕士论文写的重复率 PaperBERT

大家好,今天来聊聊硕士论文写的重复率,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 硕士论文写的重复率 1. 硕士论文的重要性 硕士论文是硕士阶段最重要的学术成果之一,它不仅…

力扣面试150题 | 209.长度最小的子数组

力扣面试150题 | 209.长度最小的子数组 题目描述解题思路代码实现 题目描述 209.长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] …

基于ssm四六级报名与成绩查询系统论文

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对四六级报名信息管理混乱,出错率高,信息安全性…

UE4 图片环形轮播 蓝图

【需求】 图片环形轮播 任意图片之间相互切换 切换图片所需时间均为1s 两个图片之间切换使用就近原则 播放丝滑无闪跳 【Actor的组成】 每个图片的轴心都在原点 【蓝图节点】

记录 | linux安装Manim

linux 安装 Manim sudo apt update sudo apt install build-essential python3-dev libcairo2-dev libpango1.0-dev ffmpeg sudo apt install xdg-utilsconda create manim_py39 python3.9 conda activate manim_py39pip install manim安装好环境后来测试一个例程,…

ECS省钱指南来啦!万字长文教你如何选择与业务形态最匹配的付费方式

为了更好的帮助用户在使用DevOps缩短开发周期、提升业务效率的同时,也能让业务保持稳定、安全、可靠,且低成本的持续运营,阿里云弹性计算团队独家出品的【弹性计算技术公开课_CloudOps云上运维季】正式启动。阿里云弹性计算内部13位产品&…

css去掉input,textarea默认样式,自定义样式

1.HTML <section><div class"text">姓名</div><input type"text" placeholder"请输入姓名" class"input"></section> <section><div class"text">详情</div><textarea…

接口测试 — 1.接口和接口文档概念

1、接口的概念 接口又叫API&#xff0c;全称application programming interface&#xff1a;应用程序接口&#xff08;规范&#xff09;&#xff0c;也就是我们经常会听说Web接口&#xff0c;APP接口。 详细说明&#xff1a; APP是一种基于C/S架构的应用程序&#xff0c;如抖音…

服务熔断的服务降级的本质区别

服务熔断&#xff08;Circuit Breaking&#xff09;和服务降级&#xff08;Service Degradation&#xff09;是两种常用于分布式系统和微服务架构中的容错技术&#xff0c;尽管它们的目的都是保持系统的稳定性和可用性&#xff0c;但它们的本质区别在于它们的应用场景和处理方式…

MYSQL练题笔记-子查询-电影评分

一、题目相关内容 1&#xff09;相关的表 2&#xff09;题目 3&#xff09;帮助理解题目的示例&#xff0c;提供返回结果的格式 二、自己初步的理解 1.字典序是指从前到后比较两个字符串大小的方法。 首先比较第1个字符&#xff0c;如果不同则第1个字符较小的字符串更小&…

Retrofit嵌套请求与适配器

一、前言&#xff1a; 1. retrofit嵌套请求 在实际开发中&#xff0c;可能会存在&#xff1a;需要先请求A接口&#xff0c;在请求B接口的情况&#xff0c;比如进入“玩android”网页请求获取收藏文章列表&#xff0c;但是需要先登录拿到Cookie才能请求搜藏文章几口&am…

day01、什么是数据库系统?

数据库系统介绍 1.实例化与抽象化数据库系统2.从用户角度看数据库管理系统的功能2.1 数据库定义功能2.2 数据库操纵2.3 数据库控制2.4 数据库维护功能2.5 数据库语言与高级语言 3.从系统&#xff1a;数据库管理系统应具有什么功能 来源于战德臣的B站网课 1.实例化与抽象化数据库…

vue 导出el-table选择的数据使用笔记

1、安装 cnpm i vue-json-excel --save 2、使用 1、引入 import JsonExcel from vue-json-excel 2、注册 components: {downloadExcel:JsonExcel,}, 3、页面使用 data&#xff1a;{return {excelName:每日火化量统计${new Date().valueOf()}.xls,json_fields:{"类…

Node.js 事件循环简单介绍

1.简介 Node.js 事件循环是 Node.js 运行时环境中的一个核心机制&#xff0c;用于管理异步操作和回调函数的执行顺序。它基于事件驱动模型&#xff0c;通过事件循环来处理和派发事件&#xff0c;以及执行相应的回调函数。 Node.js 是单进程单线程应用程序&#xff0c;但是因为…

Windows编译动态库没有生成.lib文件问题

最近修改了一个项目&#xff0c;以前生成静态库&#xff0c;后改为生成动态库&#xff0c;在Linux上没有问题&#xff0c;但在Windows上只生成了.dll文件&#xff0c;没有生成.lib文件。 在Windows中&#xff0c;.lib文件除了可以用作静态链接库外&#xff0c;还有另一种用途&…

QT QIFW Windows下制作安装包(一)

一、概述 1、QIFW是一款基于QT框架开发的跨平台安装框架。QIFW是QT Installer FrameWork的缩写&#xff0c;支持Windows、Linux和macos等多种平台。QIFW可以帮助开发者创建自己的安装程序&#xff0c;将它们打包到通用的安装包中&#xff0c;并提供可视化的界面进行安装。 2…

Django分页器

1 Django的分页器&#xff08;paginator&#xff09;简介 在页面显示分页数据&#xff0c;需要用到Django分页器组件 from django.core.paginator import Paginator Paginator对象&#xff1a; paginator Paginator(user_list, 10) # per_page: 每页显示条目数量 # coun…

mysql:用SHOW CREATE TABLE tbl_name查看创建表的SQL语句

https://dev.mysql.com/doc/refman/8.2/en/show-create-table.html 可以用SHOW CREATE TABLE tbl_name查看创建表的SQL语句。 例如&#xff0c;SHOW CREATE TABLE test_table;表示查询创建test_table表的SQL语句&#xff1a;

刘元昌:期待更多年轻人的第一杯精酿是失眠企鹅

12月7日下午&#xff0c;2023&#xff08;第十八届&#xff09;大河财富中国论坛盛大开启。作为先行论坛&#xff0c;2023新消费峰会火热开场。此次峰会以“提质新消费 释放新活力”为主题&#xff0c;集论坛、演绎、展示、互动为一体&#xff0c;把峰会变身“秀场”&#xff0…

基于Java住院部病人信息管理系统

基于Java住院部病人信息管理系统 功能需求 1、病人信息管理&#xff1a;系统需要提供病人信息管理功能&#xff0c;包括病人的基本信息&#xff08;如姓名、性别、年龄、联系方式等&#xff09;和医疗信息&#xff08;如病史、病情、诊断结果等&#xff09;。 2、病房管理&a…