mysql 主主模式优缺点_mysql主主同步模式

主192.168.56.20 和 从都新建数据库db1 db2 db3(如果数据库在用,需要上锁后手动从主备份,然后在从恢复)

mysql> create database db1;

Query OK, 1 row affected (0.00 sec)

mysql> create database db2;

Query OK, 1 row affected (0.00 sec)

mysql> create database db3;

Query OK, 1 row affected (0.01 sec)

主授权从的账号

grant replication slave on . to ‘repl‘@‘192.168.56.21‘ identified by ‘repl‘;

flush privileges;

配置文件开启bin-log

vim /etc/my.cnf

【mysql】

server-id=101 #每个节点必须不一样

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

重启主服务

service mysqld restart

查看日志文件和偏移量

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 | 120 | | | |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

从192.168.56.21

修改配置文件

vim /etc/my.cnf

server-id=109

重启从节点服务

service mysqld restart

配置从库

关闭复制功能

mysql> stop slave;

mysql>change master to master_host=‘192.168.56.20‘,master_user=‘repl‘,master_password=‘repl‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=120;

启动复制

Mysql>start slave;

检查复制功能

mysql>show slave status\G

两个进程需要yes才正常

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

在主库新建数据库,然后去从库看是否同步,同步表示正常。

create database hi_db;

主从同步配置完毕,现在开始配置主主。

配置主配置文件192.168.56.20

vim /etc/my.cnf

【mysql】

server-id=101 #每个节点必须不一样

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

auto_increment_increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n

auto_increment_offset=1 #起始值。一般填第n台主MySQL。此时为第一台主MySQL

#binlog-ignore=mysql #忽略mysql库【我一般都不写】

#binlog-ignore=information_schema #忽略information_schema库【我一般都不写】

#replicate-do-db=aa #要同步的数据库,默认所有库

重启主节点服务

service mysqld restart

配置从配置文件192.168.56.21

vim /etc/my.cnf

server-id=109

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

auto_increment_increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n

auto_increment_offset=2 #起始值。一般填第n台主MySQL。此时为第2台主MySQL

重启从节点服务

service mysqld restart

在从节点创建主复制的账号

grant replication slave on . to ‘repl1‘@‘192.168.56.20‘ identified by ‘repl1‘;

flush privileges;

查看二进制文件

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 | 420 | | | |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

在主执行

关闭复制功能

mysql> stop slave;

mysql>change master to master_host=‘192.168.56.21‘,master_user=‘repl1‘,master_password=‘repl1‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=420;

启动复制

Mysql>start slave;

检查复制功能

mysql>show slave status\G

两个进程需要yes才正常

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

然后分别在双方创建数据库,看看是否都同步。

1、主主复制配置文件中auto_increment_increment和auto_increment_offset只能保证主键不重复,却不能保证主键有序。

2、当配置完成Slave_IO_Running、Slave_SQL_Running不全为YES时,show slave status\G信息中有错误提示,可根据错误提示进行更正。

3、Slave_IO_Running、Slave_SQL_Running不全为YES时,大多数问题都是数据不统一导致。

常见出错点:

1、两台数据库都存在db数据库,而第一台MySQL db中有tab1,第二台MySQL db中没有tab1,那肯定不能成功。

2、已经获取了数据的二进制日志名和位置,又进行了数据操作,导致POS发生变更。在配置CHANGE MASTER时还是用到之前的POS。

3、stop slave后,数据变更,再start slave。出错。

终极更正法:重新执行一遍CHANGE MASTER就好了。

mysql主主同步模式

标签:lib   数据操作   二进制文件   log-bin   sql   cut   query   file   gtid

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://blog.51cto.com/13491150/2064190

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

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

相关文章

spring 类型转换器_Spring中的类型转换

spring 类型转换器以下是一些需要类型转换的简单情况: 情况1。 为了帮助简化bean配置,Spring支持属性值与文本值之间的转换。 每个属性编辑器仅设计用于某些类型的属性。 为了使用它们,我们必须在Spring容器中注册它们。 案例2。 同样&…

java+语音识别+谷歌_JAVA使用谷歌语音识别API

我正在尝试使用谷歌语音识别API.这是我写的代码:有用.我从服务器得到答案:{"status":5,"id":"8803471b14a2310dfcf917754e8bd4a7-1","hypotheses":[]}现在的问题是“状态:5”.事实上,这里的状态代码…

java中对象字节数_JAVA中求解对象所占字节大小

该类为cache4j缓存框架中的工具类方法,该方法实现了两个接口接口1:计算对象在内存中所占字节数接口2:复制对象,实现深度克隆效果,实现原理为先序列化对象,然后在反序列化对象;返回一个新的对象&…

excel查重复_毕业季 | 如何降低论文的查重率

毕业季吾日三省吾身实验做完了吗?论文写完了吗?查重能通过吗?学术圈的前辈告诉我们,只有站在巨人的肩膀上才能看得更远。在撰写一篇论文时,为保证质量和可靠性,难免需要引用前人的成果,这也反映…

Sun过去的世界中的JDK 11和代理

使用JDK 11后,就sun.misc.Unsafe的第一种方法。 其中, defineClass方法已删除。 代码生成框架通常使用此方法在现有的类加载器中定义新的类。 尽管此方法易于使用,但它的存在也使JVM本质上不安全,正如其定义类的名称所暗示的那样。…

java中 private final_Java笔记:final与private关键字

记录一个有趣的现象,private修饰的方法子类是访问不了的,且类中所有private修饰的方法都隐式的指定为final(可以对private方法添加final修饰词,但是这并不能给该方法增加任何额外的意义),final修饰的方法是不可以被重写的。但是如…

Java,JavaFX的流畅设计风格进度栏

按照承诺,刚刚发布的Java JavaFX主题JMetro 4.6版为进度栏带来了新样式。 进度栏有两种可能的状态:确定和不确定,新的JMetro版本具有这两种状态。 在本文中,我还将详细介绍一些我在JMetro中遵守的API设计原则。 JMetro API设计原…

安卓最新系统_成纺移动校园(移动办公系统)V3.2.1 安卓最新版

成纺移动校园(移动办公系统)是额一个非常实用的办公工具。您可以使用该软件及时浏览最新的校园信息,同时涵盖许多功能,例如时间表查询,会议安排,校园地图,校车等。有需要的用户欢迎来绿色先锋网下载。 成纺移动校园简介…

java时间日期格式器_JAVA基础类库(二)-----日期、时间类和格式器

Date类public classDateTest{public static voidmain(String[] args){Date d1 newDate();//获取当前时间之后100ms的时间Date d2 new Date(System.currentTimeMillis() 10000);System.out.println(d1);System.out.println(d2);//比较d1,d2是否相等,相等返回0,大于…

pyqt 获取 UI 中组件_你想知道的React组件设计模式这里都有(上)

本文梳理了容器与展示组件、高阶组件、render props这三类React组件设计模式往期回顾:HBaseCon Asia 2019 Track 3 概要回顾随着 React 的发展,各种组件设计模式层出不穷。React 官方文档也有不少相关文章,但是组织稍显凌乱,本文就…

jvm上的随机数与熵_向您的JVM添加一些熵

jvm上的随机数与熵能否生成真正的随机数取决于系统中的熵。 有人声称,这可以通过掷骰子来保证。 其他人认为,用此主体替换OpenJDK的java.math.Random.nextInt()方法将有所帮助: public int nextInt() {return 14; }资…

typora导出word指定样式_(二)最简洁的Markdowd编辑器:Typora

(提醒:前面都是介绍和语法,想下载了就能用的直接看最后总结)大家好,半瓶醋同学又来误人子弟了。现在办公文档或者邮件的处理,一般都是用微软的office word或者邮件自带的编辑器。但是用word或者邮件自带编辑…

cc java开发环境搭建_Windows系统下java开发环境搭建

总的来说,开发环境是程序员工作的基础,没了他,IT工作就没得开展了。话不多说,今天提供的教程是Windows系统下Java开发环境的搭建,具体如下1.下载并安装JDK(JAVA Development Kit)JDK是整个java开发的核心,它…

使用数据库中的Java流制作数据透视表

来自数据库行和表的原始数据不能为人类读者提供太多了解。 相反,如果我们对数据执行某种聚合,则人类更有可能看到数据模式 在展示给我们之前。 数据透视表是聚合的一种特定形式,我们可以在其中应用排序,求平均值或求和之类的操作…

java map的keyset_Java Map keySet()用法及代码示例

此方法用于返回此映射中包含的键的Set视图。该集合由Map支持,因此对Map的更改会反映在集合中,反之亦然。用法:Set keySet()参数:此方法没有参数。返回值:此方法返回一个包含指定映射键的集合。下面的程序显示int keySet()方法的实…

asynchttpclient 超时_dnf这才是混子的毕业套装,却发现超时空漩涡不买账!

dnf这才是混子的毕业套装,却发现超时空漩涡不买账!按道理来说,光兵和帕拉丁穿这套装备去混团是最好的,结果现在超时空漩涡不要!虽然说兵法套是95最好的魂之涛,但是这个混子套属性真心弱爆,不如正…

统计多维数组php_PHP多维数组中统计元素个数

Array([0] > Array([0] > Array([0] > Array([id] > 12[name] > 1)[1] > Array([id] > 28[name] > 2).....)[1] > Array([0] > Array([id] > 121[name] > 2)[1] > Array([id] > 281[name] > 4)...))....)我想统计name对应的值出现…

mongodb web_MongoDB和Web应用程序

mongodb web当今时代是数据以非常大的速度增长的时代。 数据存储不是问题,是的,但是它的结构化和存储方式可能会增加或减少所需数据块的查找时间。 不断增长的非结构化数据的用例 脸书: 活跃用户达7.5亿,互联网用户中有三分之一…

win7亮度怎么调_揭秘极米NEW Z8X投影仪怎么样?千万不要上当?!!!!【揭秘反馈

反馈测评极米NEW Z8X投影仪怎么样?求真实点评注意事项极米NEW Z8X投影仪怎么样?靠谱真实回答 外形外观:简约时尚大气,手感不错!\n投影亮度:1080P、4K,都能做到!\n投影色彩:非常好,…

php的完整代码块,简单测试了一下php中的代码块、内部类等知识

简单测试了一下php中的代码块、内部类等知识<?php class a{public $b;public function print_result(){//普通代码块&#xff0c;但已经不是java中的代码块{$c变量;echo 普通代码块&#xff1f;;}echo $c;}//错误的语法&#xff0c;Parse error: syntax error, unexpected …