MySQL主从复制

【MySQL】主从复制 MySQL是一款关系型数据库,被广泛应用于各种互联网应用中。随着业务的不断扩大,数据量不断增加,如何让MySQL具有更好的可用性和容灾能力成为了越来越重要的问题。本文将重点介绍MySQL主从复制和高可用性的实现,旨在为MySQL的使用者提供指导和帮助。本篇博客介绍了MySQL高可用性的常见解决方案,包括负载均衡、主从复制、主主复制以及结合MHA和Galera Cluster的整合方案。高可用性对于数据库系统至关重要,它可以确保用户的请求始终得以满足,并且降低系统停机时间的风险。 阅读详情

MySQL主从复制:

1.如果master已经存在数据库或者数据,需要先将master上的数据线备份下来,

然后导入到从服务器上面去。

在备份之前,先要开启master中的二进制日志。

查看my.cnf位置 whereis my.cnf 默认是/etc/my.cnf

vi  /etc/my.cnf

增加如下内容:

server-id=1

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

然后重启master

【说明】

server-id:唯一标识id

log-bin:二进制日志目录和文件前缀,配置此项,表示开启了二进制日志记录功能

 

2.在master上面执行导出命令:

mysqldump -uroot  --single-transaction --master-data=2 --triggers --routines --all-databases > ~/abc.sql  记录文件中

【说明】

保证导出的一致性状态--single-transaction

将当前服务器的binlog的位置和文件名追加到输出文件,--master-data

 

3.拷贝SQL到从服务器

在从服务器上面执行:

scp root@172.16.68.109:/root/abc.sql ~

 

4.导出到MySQL中

在slave上面执行:

mysql -uroot -p < ~/abc.sql

 

5.在master中执行授权复制的权限给slave

GRANT REPLICATION SLAVE ON *.* To 'repl'@'%' IDENTIFIED BY 'mysql';

然后刷新权限表,不然不起作用

flush privileges;

 

6.slave开启二进制日志

  Mysql5.7 slave开启二进制日志

 vi  /etc/my.cnf  作用域[mysqld]

 server-id=2

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

 

  Mysql5.6 Slave数据库配置

  vi  /etc/my.cnf  作用域[mysqld]

server-id=2

relay-log=slave-relay-bin

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

 

  如果vm是克隆的话,就可能出现uuid冲突,那么修改data目录下   /var/lib/mysql/auto.cnf. 删除掉就行了

 

7.重启slave

 

8.如果之前这台slave已经做过从机,先清空之前的relay-log

  reset slave;

 

9.在slave中执行change master语句

change master to master_host='115.159.66.82',master_user='repl',master_password='mysql',master_log_file='mysql_bin.000013',master_log_pos=336;

#其中master_log_file和master_log_pos就是第二步导出文件中开头的记录

 

10 启动slave,并查看slave状态

start slave;

show slave status\G

查看IO thread和 SQL Thread线程是否为YES。

如果是YES,表示主从复制成功。

 

11 验证

在master中创建数据库,建表,插入记录。

在slave中查看是否也同样创建了。

如果同样创建,说明主从复制验证成功。

 

12 查看二进制日志

mysqlbinlog --no-defaults mysql-bin.000001

 

13 一主多从何 一主一从配置一样。

14 多源复制  多主一从MySQL5.7支持

设置master_info_repository

1.修改 my.cnf,添加 master_info_repository=TABLE

2.在线修改

stop slave;
SET GLOBAL master_info_repository = 'TABLE';


在从服务器上执行下面两条SQL,多了 for channel

1.master 109

change master to master_host='172.16.68.109',MASTER_USER='repl_test1'

,MASTER_PASSWORD='Young_123456',MASTER_PORT=3306,

MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=607 for channel 'cl109';

2.master 108

change master to master_host='172.16.68.108',MASTER_USER='repl_test1'

,MASTER_PASSWORD='Young_123456',MASTER_PORT=3306,

MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=605  for channel 'cl108';

 

 

15 主从优化

1.在my.cnf中配置过滤条件

a)在master中

binlog-ignore-db=test//忽略复制的库,也就是不需要复制test库

binlog-do-db=test// 需要复制的库

b)在slave中配置(重点)

replicate-ignore-db=test

replicate -do-db=test

replicate-do-table=t1

replicate-ignore-table=t1

注意:一般配置这种过滤规则,在slave中比较合适,需要重启mysql服务

 

2.在线调整复制的过滤规则 MySQL5.7 才支持

在slave中做如下配置

1.停止slave中的SQL_Thread

stop slave sql_thread;

2.配置过滤规则

change replication filter replicate_ignore_db=(test2);

过滤多个表,用逗号隔开

3.重启slave中的SQL_Thread

START SLAVE SQL_THREAD;

 

 

 

 

 

 

 

 

 

 

Ubuntu 20.04 server 安装 Ubuntu 20.04 server 安装 前面我们介绍了 Ubuntu Desktop 版本的安装,今天我们来看看 Ubuntu server 版本的安装。Ubuntu Server 版本的安装和 Desktop 有很大的区别,并且全程不能使用鼠标,只能通过键盘。 从光盘或 U 盘启动到 Welcome 界面,选择语言,一般都是使用 English,所以保保持默认,直接按回车即可; 系统检测到了新的版本,问你是否是否更新,这里我们不需要安装新的版本,所以选项 Continue without upda 阅读详情

相关推荐

保姆级教程 | MS构建三层石墨后转成LAMMPS的data文件

喜欢的话记得一键三连~

baguette的博客 2953

mysql多源复制

mysql多源复制 多台主库的数据同步到一台从服务器上,从库会创建通往每个主库的管道。5.7版本之前的版本中,只能实现一主一从,一主多从,一主一从或者多主多从的复杂架构,如果想要实现多主一从的复制,只能使用mariadb,5.7版本开始支持多源复制,支持binlog ## 优势: (1)可以集中备份,在从库上备份,不会影响线上的数据库正常运行。 (2)节约了购买从库服务器的成本,只需要一个服务器即...

weixin_40524659的博客 208

matlab液体湿润模拟,【水文模型】01 三水源新安江模型

目录一、概述1.1 流域概况1.2 产流方式论证1.3 设计基本任务1.4 设计原始资料二、新安江模型2.1 流域划分2.2 产汇流计算2.2.1 蒸散发计算2.2.2 产流计算2.2.3 水源划分2.2.4 汇流计算2.3 模型参数2.3.1 参数物理意义2.3.2 参数率定结果2.4 模拟结果2.4.1 精度统计表2.4.2 计算与实测流量过程线比较三、精度统计与误差分析3.1 精度统计3.2...

weixin_34173656的博客 5327

Mysql 5.7 基于GTID的多源复制

MySQL多源复制使复制从服务器可以同时接收来自多个来源的事务。多源复制可用于将多台服务器备份到单台服务器,合并表分片并将多台服务器的数据合并到单台服务器。多源复制在应用事务时不会执行任何冲突检测或解决方案,并且如果需要,这些任务将留给应用程序。在多源复制拓扑中,从服务器为每个主服务器创建一个复制通道,以便从中接收事务。 环境说明: maseter1:192.168.1.32:3306 re...

leo__1990的博客 1107

MAS1102量产工具实战指南:从下载到开卡,附固件选择与RDT优化技巧

本文提供MAS1102量产工具的实战指南,涵盖从工具下载、短接识别到开卡操作的全过程。重点解析了固件选择策略与RDT优化技巧,帮助用户成功修复基于联芸MAS1102主控的固态硬盘,解决常见开卡错误并提升SSD性能与稳定性。

c2d3e4f的博客 2208

基于 Mask R-CNN 的实例分割:从零开始构建一个强大的分割模型

在本文中,我们将介绍如何使用 Mask R-CNN(Region-based Convolutional Networks with Masks)实现实例分割。实例分割是计算机视觉中的一种任务,旨在识别并分割图像中的各个对象。我们将讨论如何准备数据集、配置 Mask R-CNN 模型并在自定义数据集上进行训练。

斌擎科技 1244

MySQL5.7多源主从复制

MySQL5.7多源主从复制 MySQL在5.7.2上面添加了多源复制(Multi-Source)功能,意味着一个从库可以连 多个主库,从而同时进行同步,但是如果是同一个表的话,会存在主键和唯一索引冲突的风险,需要提前做好规划   MySQL多源复制的原理 个人认为MySQL能实现多源复制的关键有两点 1.      MySQL5.7中的从库进行同步的SQL_THREA

u013983450的博客 1937

深度学习100例-卷积神经网络(CNN)彩色图片分类 | 第2天

文章目录前期工作设置GPU导入数据标准化可视化构建CNN网络编译训练模型预测模型评估 前期工作 设置GPU 如果使用的是CPU可以忽略这步 import tensorflow as tf gpus = tf.config.list_physical_devices("GPU") if gpus: gpu0 = gpus[0] #如果有多个GPU,仅使用第0个GPU tf.config.experimental.set_memory_growth(gpu0, True) #设置GPU显存用量

“365天深度学习训练营”报名进行中~ 7855

mysql-主从slave I/o for channel, error_code 1045

一、背景 几天前一个朋友重启了下主库,主从链接断掉了,报错error_code 1045 二、解决 从报错上来看是因为链接认证出问题,可以对比下密码和从库的master_info文件的密码是否一致,多半是因为某些原因密码不一致造成的 解决办法: stop slave; change master to master_password='new_password'; start slave; ...

line_on_database的博客 1737

YOLOv11改进 | 引入SFSConv空间频率选择卷积(含SFSC3k2二次创新),空间频率特征协同作用,检测性能全面提升

本文提出在YOLOv11中引入SFSConv空间频率选择卷积模块,通过显式分离和动态融合空间域与频率域特征,解决传统卷积对多尺度目标检测的局限性。SFSConv包含空间频率分离、动态权重融合和协同特征重建三个核心机制,并进一步创新提出SFSC3k2结构,通过双路频率分支增强特征协同作用。该改进显著提升了YOLOv11在遥感、医学等多尺度复杂场景下的检测性能,实验显示在微小目标检测任务中mAP提升5%-10%。代码实现展示了SFSConv模块的核心逻辑及其在PyTorch中的高效实现。

走向CTO的路上... 768

华为OD机试双机位C卷:流量波峰 (C/C++/Py/Java/Js/Go)

华为OD机试双机位C卷 流量波峰,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 流量波峰。

qq_45776114的博客 2446

【MySql】 搭建主从复制

主从复制是指将主库的数据变更同步到从库,从而保证主库和从库数据一致,可用于数据备份、失败迁移、读写分离、降低单库读写压力等场景。对于面向大企业的B端产品而言,主从复制技术尤为重要。

精益求精 2036

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

MySQL——主从复制

从服务器上面启动一个I/O线程, 连接到主服务器上面请求读取二进制(Bin-log)日志,然后把读取到的二进制日志写到本地的Realy-log(中继日志)里面。主从复制(也称 AB 复制)允许将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。分析 - 可以在主服务器上创建实时数据,而信息分析可以在从服务器上进行,而不会影响主服务器的性能。执行此过程后,在主服务上操作的修改数据的操作都会在从服务器中执行一遍,这样就保证了数据的一致性。

xjm2001的博客 2131

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

MySql主从复制原理

1、什么是主从复制?概念 主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库;主数据库一般是准实时的业务数据库。2、主从复制作用我们来思考如果在企业网站中,后端MYSQL数据库只有一台时候,会有以下问题:1、单点故障服务不可用2、无法处理大量的并发数据请求3、数据丢失所以通过主从复制后,它的优点就很明显1、如果主节点出现故障,那么我们就直接将服务切到从节点,来保证服务立马可用。2、如果并发请求特别大的时候,我们可用进行读写分离操作,让主库负责写,从库负责读。

qq_37436172的博客 3638

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MySQL-主从复制

MySQL-主从复制

我姓谭却弹不死你的博客 1417

MySQL的主从复制原理

一、主从复制概念 二、读写分离的概念 三、主库和从库 1. 主库 2. 从库 四、主从复制的流程 五、主从复制效果展示

qq_41721746的博客 2654

mysql主从复制

本文介绍了MySQL主从复制的配置方法,主要包括主从复制的功能优势(数据备份和读写分离)、docker-compose部署方案、主从服务器的配置

demon7552003的小本本 1185

实现 MySQL 主从复制配置

主从复制主要操作是让一台服务器 Master 的数据和其他服务器 Slave 保持同步。一台 Master 数据可以同步到多台备库 Slave 上,同时一台 Slave 本身也可以配置另外一台服务器的 Master,Master 库和 Slave 库可以有多种不同的组合。在企业实际的开发中,后端 MySQL 数据库只有一台的时候,会有以下问题:主从复制流程图: 执行流程说明:192.168.2.125 和 192.168.2.126 安装 MySQL 的步骤都是一样的,以安装在 192.168.2.

养歌的博客 2799
上一篇: MySQL之分表分库分区
下一篇: Linux系统防火墙和优化
小黑客xhk
博客等级 码龄13年 15粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值