通过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. [译]ZOOKEEPER RECIPES-Queues

    队列 分布式队列是一种常见的数据结构.为了在ZooKepeer中实现分布式队列,第一步是要使用一个znode代表队列本身.分布式客户端通过create()方法将内容放入一个名叫"queue- ...

  2. IT公司的女流之辈

    声明:并不是对女性怎么怎么滴歧视, 我只是想陈述事实. 女性来IT公司工作, 真的适合吗? 如果是杰出女性也就罢了, 如果只是一般女性呢? 她能够像一般男性一样的 努力工作, 像牛马一样的工作? 在某 ...

  3. 对jquery操作复选框

    摘要:jquery操作复选框.使用更简洁易懂,思路清晰,逻辑更明了,很实用 <!DOCTYPE html> <html> <head> <meta chars ...

  4. HTML&CSS日常知识点总结

    HTML 标签 meta 标签永远位于文档的头部,即head元素内部 可提供有关页面的元信息,如针对搜索引擎和更新频度的描述和关键词 charset 这个属性规定在外部脚本文件中使用的字符编码 如果外 ...

  5. PHP安装mysql.so扩展

    在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaught Error: Cal ...

  6. EXISTS 引入子查询时,在选择列表中只能指定一个表达式

  7. 6.LibSVM核函数

    libsvm的核函数类型(svmtrain.c注释部分): "-t kernel_type : set type of kernel function (default 2)\n" ...

  8. ASP.NET Core管道深度剖析(4):管道是如何建立起来的?

    在<管道是如何处理HTTP请求的?>中,我们对ASP.NET Core的请求处理管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管道是如何被构建起来的.这样一 ...

  9. 自己封装了一个EF的上下文类.,分享一下,顺便求大神指点

    using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...

  10. CloudNotes之桌面客户端篇:笔记撰写样式的支持

    最近在CloudNotes桌面客户端中新增了笔记撰写样式的功能.当用户新建笔记的时候,可以在输入笔记标题的同时,选择笔记撰写样式,由安装包默认提供的样式主要有默认样式(Default).羊皮纸样式(L ...