master to master replication

GTID的双主一从遇到的1236错误及解决方法 环境:172和50互为双主,145做从,因为172授权的时候,50已经已经同步,故也拥有该用户slave并且有相应权限,不必重复创建,下面是145做change master to并打开slave后的状态; 去网上找到原因:是因为主机的gtid_executed和从机已经执行过的gtid即gtid_executed没有同步,查看主机172的gtid_executed show global... 阅读详情
刚刚抽空做了一下MYSQL 的主主同步。
把步骤写下来,至于会出现的什么问题,以后随时更新。这里我同步的数据库是TEST
1、环境描述。
   主机:192.168.0.231(A)
   主机:192.168.0.232(B)
   MYSQL 版本为5.1.21
2、授权用户。
A:
mysql> grant replication slave,file on *.* to 'repl1'@'192.168.0.232' identified
 by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
B:
mysql> grant replication slave,file on *.* to 'repl2'@'192.168.0.231' identified
 by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
然后都停止MYSQL 服务器。

3、配置文件。
在两个机器上的my.cnf里面都开启二进制日志 。
A:
user = mysql
log-bin=mysql-bin
server-id       = 1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

B:
user = mysql
log-bin=mysql-bin
server-id       = 2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=2

至于这些参数的说明具体看手册。
红色的部分非常重要,如果一个MASTER 挂掉的话,另外一个马上接管。
紫红色的部分指的是服务器频繁的刷新日志。这个保证了在其中一台挂掉的话,日志刷新到另外一台。从而保证了数据的同步 。
4、重新启动MYSQL服务器。
在A和B上执行相同的步骤
[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe &
[1] 4264
[root@localhost ~]# 071213 14:53:20 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
/usr/local/mysql/bin/mysqld_safe: line 366: [: -eq: unary operator expected
071213 14:53:20 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

5、进入MYSQL的SHELL。
A:
mysql> flush tables with read lock/G
Query OK, 0 rows affected (0.00 sec)

mysql> show master status/G
*************************** 1. row ***************************
            File: mysql-bin.000007
        Position: 528
    Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)

B:
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)

mysql> show master status/G
*************************** 1. row ***************************
            File: mysql-bin.000004
        Position: 595
    Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
然后备份自己的数据,保持两个机器的数据一致。
方法很多。完了后看下一步。
6、在各自机器上执行CHANGE MASTER TO命令。
A:
mysql> change master to
    -> master_host='192.168.0.232',
    -> master_user='repl2',
    -> master_password='123456',
    -> master_log_file='mysql-bin.000004',
    -> master_log_pos=595;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)


B:
mysql> change master to
    -> master_host='192.168.0.231',
    -> master_user='repl1',
    -> master_password='123456',
    -> master_log_file='mysql-bin.000007',
    -> master_log_pos=528;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

7、查看各自机器上的IO进程和 SLAVE进程是否都开启。
A:

mysql> show processlist/G
*************************** 1. row ***************************
     Id: 2
   User: repl
   Host: 192.168.0.232:54475
     db: NULL
Command: Binlog Dump
   Time: 1590
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
*************************** 2. row ***************************
     Id: 3
   User: system user
   Host: 
     db: NULL
Command: Connect
   Time: 1350
  State: Waiting for master to send event
   Info: NULL
*************************** 3. row ***************************
     Id: 4
   User: system user
   Host: 
     db: NULL
Command: Connect
   Time: 1149
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
*************************** 4. row ***************************
     Id: 5
   User: root
   Host: localhost
     db: test
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
4 rows in set (0.00 sec)

B:

mysql> show processlist/G
*************************** 1. row ***************************
     Id: 1
   User: system user
   Host: 
     db: NULL
Command: Connect
   Time: 2130
  State: Waiting for master to send event
   Info: NULL
*************************** 2. row ***************************
     Id: 2
   User: system user
   Host: 
     db: NULL
Command: Connect
   Time: 1223
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL
*************************** 3. row ***************************
     Id: 4
   User: root
   Host: localhost
     db: test
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 4. row ***************************
     Id: 5
   User: repl2
   Host: 192.168.0.231:50718
     db: NULL
Command: Binlog Dump
   Time: 1398
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
4 rows in set (0.00 sec)

如果红色部分没有出现,检查DATA目录下的错误文件。

8、释放掉各自的锁,然后进行插数据测试。
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)

插入之前两个机器表的对比:
A:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     | 
| t22            | 
+----------------+
B:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     | 
| t22            | 
+----------------+
从A机器上进行插入
A:
mysql> create table t11_replicas
    -> (id int not null auto_increment primary key,
    -> str varchar(255) not null) engine myisam;
Query OK, 0 rows affected (0.01 sec)

mysql> insert into t11_replicas(str) values
    -> ('This is a master to master test table');
Query OK, 1 row affected (0.01 sec)

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     | 
| t11_replicas   | 
| t22            | 
+----------------+
3 rows in set (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table | 
+----+---------------------------------------+
1 row in set (0.00 sec)


现在来看B机器:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t11_innodb     | 
| t11_replicas   | 
| t22            | 
+----------------+
3 rows in set (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table | 
+----+---------------------------------------+
1 row in set (0.00 sec)

现在反过来从B机器上插入数据:
B:

mysql> insert into t11_replicas(str) values('This is a test 2');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table | 
|  2 | This is a test 2                      | 
+----+---------------------------------------+
2 rows in set (0.00 sec)
我们来看A
A:
mysql> select * from t11_replicas;
+----+---------------------------------------+
| id | str                                   |
+----+---------------------------------------+
|  1 | This is a master to master test table | 
|  2 | This is a test 2                      | 
+----+---------------------------------------+
2 rows in set (0.00 sec)

好了。现在两个表互相为MASTER。


多MASTER自增字段冲突的问题。
具体文章见:
http://dev.mysql.com/tech-resources/articles/advanced-mysql-replication.html
 
看完这篇还不懂 MySQL 主从复制?那就回家葛优躺吧! 前言 我们在平时工作中,使用最多的数据库就是 MySQL 了,随着业务的增加,如果单单靠一台服务器的话,负载过重,就容易造成宕机。 这样我们保存在 MySQL 数据库的数据就会丢失,那么该怎么解决呢? 其实在 MySQL 本身就自带有一个主从复制的功能,可以帮助我们实现负载均衡和读写分离。 对于主服务器(Master)来说,主要负责写,从服务器(Slave)主要负责读,这样的话,就会大大减轻压力,从而提高效率。 接下来,一起来看看它都有哪些核心知识点: 简介 随着业务的增长,一台数据服务器已经满足不了需求了 阅读详情

相关推荐

Debezium报错处理系列之二十五:Client requested master to start replication from impossible position

Debezium报错处理系列之二十五:Client requested master to start replication from impossible position

zhengzaifeidelushang的博客 662

mysql主从切换

前言 下面介绍的是mysql数据库的手动的主从切换。如需要快速切换可使用脚本,也可配置MHA。当数据库完成切换后,建议修改某些服务连接数据库的地址为新主库的地址。 模拟环境: 主库所在服务器出现硬件升级等,需要对主库服务器关闭,暂时进行主从切换。 【1】进入要调整为主库的从库中执行 <1>查看进程 show processlist; 当看到Master has sent ...

漠效的博客 2492

触摸延时灯课程设计

Multisim源文件下载: 实验名称:­­­­­­­­­­­­­­­­­­­ 课程设计1:触摸延时灯仿真设计 设计要求: 利用单稳态触发器设计触控延时灯,要求利用触发波形的边沿模拟触控点实现触发,触发后3秒灯亮,灯可以亮的时间可在5-10秒之间可调。 设计思路: 利用集成单稳态触发器CD4098设计简易的触摸延时灯电路。应用CD4098可以实现脉冲延时,原理图如下。4脚未触发信号输入端,可通过比较器对触摸产生的信号进行比较后再产生触发信号,使触发准确度得以提高。...

m0_54240221的博客 1万+

mysql数据库主备切换演练

概述 一般生产环境都需要定期去做一次mysql数据库主备切换演练,这里简单记录一下,后面再演示一下备份恢复的一些演练工作。 1、查看主库状态 show processlist;Master has sent all binlog to slave; waiting for binlog to be updatedshow master status \G ...

672

应用处理器(AP)、系统级芯片(SoC)与微控制器(MCU)的区别与联系

应用处理器(AP)、系统级芯片(SoC)与微控制器(MCU)的区别与联系

a_zxswer的博客 1693

Tiff、jpg图片怎么样添加地理坐标信息

Tiff、jpg图片怎么样添加地理坐标信息 一般,外业调查只有地图资料,如专题图、或者地形图,如何把这些地图资料的扫描地图带上坐标信息,从而内业实现信息化处理?以上问题,可以解决,但根据不同情况有不同的处理方法。     第一种,上面有经纬度外框,图片是矩形,但是没有地理信息。 通过图框的两个角的坐标确定范围,分别是左上(140°E,30°N);右下(150°W,30°N) 解决方

树木_xzw的博客 2万+

mysql主从(Master-Master)服务搭建详解

mysql主从(Master-Master)服务搭建详解 Master-Master配置

Galadridel的博客 2545

从FedAvg到实战:手把手教你用PyTorch复现联邦学习经典论文实验(MNIST/CIFAR-10)

本文详细介绍了如何使用PyTorch复现联邦学习经典算法FedAvg在MNIST和CIFAR-10数据集上的实验。从环境搭建、数据非IID划分到模型实现和参数聚合,手把手教你掌握联邦学习的核心技术与实战技巧,帮助开发者和研究人员快速实现隐私保护的分布式机器学习方案。

weixin_29053695的博客 253

转 master to master replication

刚刚抽空做了一下MYSQL 的主主同步。把步骤写下来,至于会出现的什么问题,以后随时更新。这里我同步的数据库是TEST1、环境描述。   主机:192.168.0.231(A)   主机:192.168.0.232(B)   MYSQL 版本为5.1.212、授权用户。A:mysql> grant replication slave,file on *.* to repl1@192.168.

eyejava的专栏 1332

Jetson AGX Orin和Drive AGX Orin相机的关联分析和编程指南

通过适当的相机接口和连接,以及使用适当的软件开发环境,开发人员可以在这些平台上实现相机功能。Jetson AGX Orin和Drive AGX Orin是NVIDIA推出的两款强大的计算平台,用于自动驾驶和人工智能应用。Jetson AGX Orin和Drive AGX Orin平台提供了强大的计算能力,使开发人员能够实现复杂的相机功能和算法。以上只是一些示例,Jetson AGX Orin和Drive AGX Orin平台提供了丰富的开发资源和工具,可用于实现各种复杂的相机应用。显示图像在一个窗口中。

CyberLynxO的博客 1121

久坐不慌,健康护航 —— 智能震动提醒坐垫的设计与实现

硬件核心:选用 ESP32 为主控,HX711 + 应变片实现精准压力检测,8050 三极管驱动震动马达,锂电池 + TP4056 满足便携供电需求;软件逻辑:核心是 “压力阈值判断 + 时间计时”,达到久坐阈值后触发震动提醒,流程图清晰体现了循环检测、状态重置的核心逻辑;代码特性:代码注释完善,阈值可灵活调整,支持串口调试,新手可直接编译烧录并根据实际场景校准。

weixin_42300449的博客 401

mysql 主从 position_MYSQL主从同步时Client requested master to start replication from impossible position的解决...

MYSQL主从同步时出现”Client requested master to start replication from impossible position”错误的解决方法:这个错误是因为从服务器请求一个错误的位置而引起的.比如主服务器上的BLIN LOG里没有这个POSITION.解决原理:从相关的BIN LOG 里最后一个日志位置,与从服务器上的日志对比,如果LOG里最后位置比错误的位...

weixin_39783426的博客 446

实现边缘实时动物检测:YOLOv5模型优化与树莓派4B部署全攻略

本文介绍了基于高性能计算机训练YOLOv5目标检测模型,并部署到树莓派4B实现实时动物检测的全流程。主要内容包括:1)在高性能计算机上通过Anaconda创建虚拟环境,安装YOLOv5项目并进行模型训练;2)将训练好的best.pt模型迁移到树莓派,配置轻量级Miniconda环境;3)连接树莓派摄像头,运行实时检测程序。该系统兼顾了训练效率和边缘设备部署的实用性,可广泛应用于智慧农业、生态监测等场景。文中详细说明了数据准备、环境配置和部署步骤,为开发轻量级目标检测系统提供了完整参考方案。

m0_64661770的博客 201

mysql replication copy master to slave

MySQL 复制介绍及搭建 2016/04/29 ·  IT技术 ·  MySQL, 数据库 分享到:1 原文出处: bestvivi    MySQL复制介绍 MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身,类似Oracle中的Data Guard。 MySQ

screaming的博客 617

CelebA-HQ数据集下载【详细明了版】分辨率包括【64,128,256,512,1024】

CelebA-HQ 是在ICLR2018上,nVidia发表了一篇名为Progressive Growing of GANs for Improved Quality, Stability, and Variation的论文,文中通过训练高分辨率GAN生成了一个新的人脸数据集CelebA-HQ.CelebA是港科大汤晓鸥组收集的人脸数据集(总共200k图片),包括了人脸特征点(landmark),人脸属性(attribute)等信息,详细介绍参考链接[1]和[2]

zik的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux mysql replication master to slave configuration 小记

首先讲一下replication的原理:对数据库进行操作时,会产生相应的二进制log文件,其中记载了对数据库所有操作的sql,slave通过指定master二进制log和相应偏移,将二进制log复制过来,从而和master具有相同二进制log,从而执行了完全一模一样的的操作,达到replication。 从原理可以看出,master配置的时候一定要打开bin-log,网上关于master-sla

龙千寻 632

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Redis已解决】 Sending command to master in replication handshake: -Writing to master: Unknown error

Sending command to master in replication handshake: -Writing to master: Unknown error解决方法

weixin_60387745的博客 732

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

How to debug the employee master data replication from SAP SuccessFactors Employee Central to ECP

摘要:本文介绍了在ECP与SF系统PTP集成模式下的调试方法。PTP模式比CPI集成包更简单,但错误排查需要专业知识。调试步骤包括:1)通过报表RP_HRSFEC_REPLICATION_STATUS获取复制状态;2)在类CL_HRSFEC_RS_UI_SIMULATE的SIMULATE_REPLICATION方法设置断点;3)通过SLG1错误消息定位问题;4)检查信息类型类中的特定方法(如SPECIFIC_INSERT_COMPUTATIONS);5)分析SuccessFactors的XML数据。文章还提

wl8511的博客 1212

MySQL从库1236报错Client requested master to start replication from position > file size

主库断电后主从同步断了?

Hehuyi_In的博客 4622

Windows下Redis主从配置出现Writing to master:Unknow error

(1)bind 127.0.0.1 172.16.XX.XX(本台电脑ip)(1)bind 127.0.0.1 172.16.XX.XX(本台电脑ip)(1)bind 127.0.0.1 172.16.XX.XX(本台电脑ip)(2)两个从数据库的slaveof 改成 172.16.xx.xx 6379。(3)slaveof 172.16.XX.XX(本台电脑ip) 6379。(3)slaveof 172.16.XX.XX(本台电脑ip) 6379。(2)slaveof 主数据库的ip 端口。

亦碎流年的博客 1660

multi master to one slave (Mysql replication)

[mysqld]default-character-set=utf8character-set-server=utf8default-collation=utf8_unicode_cidatadir=/stagedb/mysql...

copy0511的博客 154

mysql主从模式不同步问题(Client requested master to start replication from position)

场景 mysql在主备模式下,当master主节点挂机,重新拉起后,发现slave从节点主从同步不正常(Slave_IO_Running: No),是由于同步的position出现不一致,需要更新从position的偏移量。 操作记录 从节点同步状态 mysql> show slave status \G *************************** 1. row *****...

zhaikaiyun的博客 1474

Client requested master to start replication from impossible position; the last event was read from

一:问题描述 由于10.0.3.96此虚拟机所在的物理机存储不够了,所以上面的数据库也无法访问了。 后来10.0.3.96可以正常访问后,其从库10.0.3.97却发生了异常: mysql> show slave status \G; *************************** 1. row ***************************

雅冰石的专栏 2613

MySQL 5.7复制报错Client requested master to start replication from impossible

错误日志中的信息 2017-12-12T07:41:47.070228Z 57896 [ERROR] Error reading packet from server for channel 'master_4': Clien...

cuantangnie3915的博客 397

MySQL5.7用于控制副本服务器的 SQL 语句

设置,在初始连接握手中,副本会发送一个 GTID 集,其中包含它已接收、提交或两者的事务。源通过发送其二进制日志中记录的所有事务进行响应,这些事务的 GTID 不包含在副本发送的 GTID 集中。通过这些设置,副本会检查服务器的证书是否有效,并检查副本所使用的主机名是否与服务器证书中的标识相匹配。事务按照接收到的顺序进行处理,因此这些事务可能不属于 GTID 集,但在提交该集中的所有事务之前接收(并处理)这些事务。在该秒数后,将向副本发送心跳信号,并且只要源的二进制日志随事件更新,等待时间就会重置。

大蚊子 1278

How to Setup MySQL (Master-Slave) Replication in CentOS

The following tutorial aims to provide you a simple step-by-step guide for setting upMySQL(Master-Slave)ReplicationinRHEL 6.3/6.2/6.1/6/5.8,CentOS 6.3/6.2/6.1/6/5.8andFedora 17,16,15,14,13,12...

weixin_34043301的博客 166
上一篇: 转 mysql my.cnf的优化
下一篇: 设置mysql同步
名茶
博客等级 码龄17年 1粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值