通过MySQL参数配置使用主主前提:

1、表的主键自增。
#################################################################
#m1-m2配置文件更改:再上篇M-S同步基础上增加:
#################################################################
m1(192.168.1.31 3306):主库配置文件中添加如下行
vim /data/3306/my.cnf 增加如下两行参数:
  1. #_______m-m m1 start________
  2. auto_increment_increment =2
  3. auto_increment_offset =1
  4. log-slave-updates
  5. log-bin = /data/3306/mysql-bin
  6. expire_logs_days =7
  7. #_______m-m m1 end________
m2(192.168.1.31 3307):主库配置文件中添加如下行
  1. #_______m-m m2 start________
  2. auto_increment_increment =2
  3. auto_increment_offset =2
  4. log-slave-updates
  5. log-bin = /data/3307/mysql-bin
  6. expire_logs_days =7
  7. #_______m-m m2 end________
参数说明:
解决主建自增长变量冲突:
Master1:
auto_increment_increment =2 #自增ID的间隔,如1 3 5间隔为2.
auto_increment_offset =1 #ID的初始位置
(将形成1,3,5,7,...序列)
 
Master2:
auto_increment_increment =2 #自增ID的间隔,如2 4 6间隔为2.
auto_increment_offset =2 #ID的初始位置
(将形成2,4,6,8,...序列)
2、配置完以后重启数据库
  1. /data/3306/mysql stop
  2. /data/3306/mysql start
  3. /data/3307/mysql stop
  4. /data/3307/mysql start
3、接着登录数据库中验证,都 是否开启
  1. mysql> show variables like "log_%";
  2. +---------------------------------+---------------------------------+
  3. |Variable_name|Value|
  4. +---------------------------------+---------------------------------+
  5. | log_bin | ON |
  6. | log_bin_trust_function_creators | OFF |
  7. | log_error |/data/3306/mysql_oldboy3306.err |
  8. | log_output | FILE |
  9. | log_queries_not_using_indexes | OFF |
  10. | log_slave_updates | ON |
  11. | log_slow_queries | OFF |
  12. | log_warnings |1|
  13. +---------------------------------+---------------------------------+
  14. 8 rows in set (0.00 sec)
  1. mysql> show variables like "log_%";
  2. +---------------------------------+---------------------------------+
  3. |Variable_name|Value|
  4. +---------------------------------+---------------------------------+
  5. | log_bin | ON |
  6. | log_bin_trust_function_creators | OFF |
  7. | log_error |/data/3307/mysql_oldboy3307.err |
  8. | log_output | FILE |
  9. | log_queries_not_using_indexes | OFF |
  10. | log_slave_updates | ON |
  11. | log_slow_queries | OFF |
  12. | log_warnings |1|
  13. +---------------------------------+---------------------------------+
  14. 8 rows in set (0.00 sec)
  1. mysql> show variables like "auto_%";
  2. +--------------------------+-------+
  3. |Variable_name|Value|
  4. +--------------------------+-------+
  5. | auto_increment_increment |2|
  6. | auto_increment_offset |1|
  7. | autocommit | ON |
  8. | automatic_sp_privileges | ON |
  9. +--------------------------+-------+
  10. 4 rows in set (0.00 sec)
  1. mysql> show variables like "auto_%";
  2. +--------------------------+-------+
  3. |Variable_name|Value|
  4. +--------------------------+-------+
  5. | auto_increment_increment |2|
  6. | auto_increment_offset |2|
  7. | autocommit | ON |
  8. | automatic_sp_privileges | ON |
  9. +--------------------------+-------+
  10. 4 rows in set (0.00 sec)
4、把备份的MySQL数据导入从库(Slave ):
首先打包数据
  1. mysqldump -uroot -p123456 -S /data/3307/mysql.sock -A --events -B -x --master-data=1|gzip >/opt/3307_$(date +%F).sql.gz
  1. [root@mysql opt]# gzip -d 3307_2016-04-09.sql.gz
  2. [root@mysql opt]# mysql -uroot -p123456 -S /data/3306/mysql.sock <3307_2016-04-09.sql
  1. 接着CHANGE MASTER TO
  2. [root@mysql opt]# mysql -uroot -p123456 -S /data/3306/mysql.sock<<EOF
  3. > stop slave;
  4. > CHANGE MASTER TO
  5. > MASTER_HOST='192.168.1.31',
  6. > MASTER_PORT=3307,
  7. > MASTER_USER='rep',
  8. > MASTER_PASSWORD='123456';
  9. > EOF
5、检查状态是否同步
  1. [root@mysql opt]# mysql -uroot -p123456 -S /data/3306/mysql.sock -e "start slave;show slave status \G"
  2. ***************************1. row ***************************
  3. Slave_IO_State:Waitingfor master to send event
  4. Master_Host:192.168.1.31
  5. Master_User: rep
  6. Master_Port:3307
  7. Connect_Retry:60
  8. Master_Log_File: mysql-bin.000001
  9. Read_Master_Log_Pos:585
  10. Relay_Log_File: relay-bin.000004
  11. Relay_Log_Pos:253
  12. Relay_Master_Log_File: mysql-bin.000001
  13. Slave_IO_Running:Yes
  14. Slave_SQL_Running:Yes
  15. Replicate_Do_DB:
  16. Replicate_Ignore_DB: mysql
  17. Replicate_Do_Table:
  18. Replicate_Ignore_Table:
  19. Replicate_Wild_Do_Table:
  20. Replicate_Wild_Ignore_Table:
  21. Last_Errno:0
  22. Last_Error:
  23. Skip_Counter:0
  24. Exec_Master_Log_Pos:585
  25. Relay_Log_Space:403
  26. Until_Condition:None
  27. Until_Log_File:
  28. Until_Log_Pos:0
  29. Master_SSL_Allowed:No
  30. Master_SSL_CA_File:
  31. Master_SSL_CA_Path:
  32. Master_SSL_Cert:
  33. Master_SSL_Cipher:
  34. Master_SSL_Key:
  35. Seconds_Behind_Master:0 ##这个选项为0,表示正常
6、测试数据库是否  主主复制
  1. 1、首先登录3307数据库
  2. [root@mysql scripts]# mysql -uroot -p123456 -S /data/3307/mysql.sock
  3. 2、创建zhurui1 库
  4. mysql> create database zhurui1;
  5. Query OK,1 row affected (0.02 sec)
  6. 3、登录3306数据库
  7. [root@mysql opt]# mysql -uroot -p123456 -S /data/3306/mysql.sock
  8. 4、检查zhurui1 库是否复制过来
  9. mysql> show databases;
  10. +--------------------+
  11. |Database|
  12. +--------------------+
  13. | information_schema |
  14. | beautifulgirl |
  15. | lian |
  16. | mysql |
  17. | performance_schema |
  18. | zhu |
  19. | zhurui |
  20. | zhurui1 |
  21. +--------------------+
  22. 8 rows in set (0.00 sec)
  23. mysql>
7、在zhurui 库中创建表,测试是否主主复制
  1. mysql> use zhurui
  2. Database changed
  3. mysql> CREATE TABLE `t1`(
  4. ->`id` bigint(12) NOT NULL auto_increment,
  5. ->`name` varchar(12) NOT NULL,
  6. -> PRIMARY KEY (`id`)
  7. ->);
  8. Query OK,0 rows affected (0.04 sec)
  1. mysql> desc t1;##使用desc可以查看表结构
  2. +-------+-------------+------+-----+---------+----------------+
  3. |Field|Type|Null|Key|Default|Extra|
  4. +-------+-------------+------+-----+---------+----------------+
  5. | id | bigint(12)| NO | PRI | NULL | auto_increment |
  6. | name | varchar(12)| NO || NULL ||
  7. +-------+-------------+------+-----+---------+----------------+
  8. 2 rows in set (0.34 sec)
表中插入数据:
  1. mysql> insert into t1(name) values("woduibuqini");##插入数据的sql语句
  2. Query OK,1 row affected (0.01 sec)
  3. mysql> select *from t1;##查看t1库
  4. +----+--------------+
  5. | id | name |
  6. +----+--------------+
  7. |1| zengqinglian |
  8. |3| woaini |
  9. |5| woduibuqini |
  10. +----+--------------+
  11. 3 rows in set (0.00 sec)
 

4.MySQL 主主(m-m) 同步生产库标准同步操作实施流程的更多相关文章

  1. Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

    Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...

  2. MySQL主从复制,主主复制,半同步复制

    实验环境: 系统:CentOS Linux release 7.4.1708 (Core) mariadb:mariadb-server-5.5.56-2.el7.x86_64 node1:172.1 ...

  3. MySQL数据的主从复制、半同步复制和主主复制详解

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  4. MySQL数据的主从复制、半同步复制和主主复制详解-转

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  5. MySQL 主主同步配置和主从配置步骤

    ★预备知识 : 1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说. 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服 ...

  6. MYSQL双主全库同步复制

    环境: A.B两台服务器分别安装mysql-5.7.18服务端,配置成互为主从同步. linux系统版本为CentOS7 A服务器ip:192.168.1.7   主机名:test1 B服务器ip:1 ...

  7. MYSQL主从同步/主主同步

    一.MYSQL主从同步 注意:进行主从同步操作时需要确保DB无写操作 flush tables with read lock:   //全局读锁定,执行了命令之后所有库所有表都被锁定只读. 1.在主机 ...

  8. MySQL主主同步配置

    1. MySQL主主配置过程 在上一篇实现了主从同步的基础上,进行主主同步的配置. 这里用node19(主),node20(从)做修改,使得node19和node20变为主主同步配置模式 修改配置文件 ...

  9. mysql主主同步设置

    mysql主主同步设置 主主同步设置是同等的地位,所以以下操作在两台机器上都需要进行而且操作是相同的. 服务器 服务器代号 IP hostname A 192.168.70.128 Debian1 B ...

随机推荐

  1. MySQL基础之索引

    这段时间看了好多东西却没有总结,今天在这里写一写 关于索引 索引是一种提高查询效率的方法,它是B+树的结构,从根到中间节点在到叶子节点,无需遍历全部就可以查到所需的东西 关于索引的创建 一般有俩种方式 ...

  2. C# 开发windows服务的一些心得

    最近在做一个windows服务的项目,发现并解决了一些问题,拿出来和大家分享一下,以下windows服务简称“服务” 文章会在适合时间更新,因为朋友们在不断提出新的意见或思路,感谢-.- 1.服务如何 ...

  3. 企业应用开发模式 ERP项目中应用到的技术和工具

    一.基础技术选型 C# .NET 3.5/4.0  这两个版本的.NET已经相当方便(Linq, Lambda,Parallel),语法简洁,配合WCF和WF两项技术,可以满足快速开发,维护方便的目标 ...

  4. Bucket不为空,请检查该Bucket是否包含未删除的Object或者未成功的Multipart碎片

    异常处理汇总 ~ 修正果带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4599258.html 图示解决==>详细如下:

  5. LATEX数学公式基本语法

    TEX 是Donald E. Knuth 编写的一个以排版文章及数学公式为目标的计算机程序.TEX的版本号不断趋近于π,现在为3.141592.由Pascal 语言写成,特点: 免费.输出质量高.擅长 ...

  6. jquery实现Tab选项卡菜单

    效果图: 默认选中  科技                                                                                 当鼠标悬停在 ...

  7. ASP.NET 页面禁止被 iframe 框架引用

    两个站点: a.sample.com b.sample.com a.sample.com 站点中的一段示例 JS 代码: var iframe = document.createElement(&qu ...

  8. linux内核调试技术之修改内核定时器来定位系统僵死问题

    1.简介 在内核调试中,会经常出现内核僵死的问题,也就是发生死循环,内核不能产生调度.导致内核失去响应.这种情况下我们可以采用修改系统内核中的系统时钟的中断来定位发生僵死的进程和函数名称.因为内核系统 ...

  9. [JSP]JSP 简介

    1.1 概述 1.1.1 什么是 JSP? JSP 全称是 Java Server Pages,是一种动态网页开发技术. 它与 PHP.ASP.ASP.NET 等语言类似,运行在服务端的语言. JSP ...

  10. 编写高质量代码:改善Java程序的151个建议(第3章:类、对象及方法___建议47~51)

    建议47:在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题,这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JavaBe ...