参考:

软件:

MySQL-server-5.6.29-1.el6.x86_64.rpm
MySQL-client-5.6.29-1.el6.x86_64.rpm
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm

操作系统:

            CentOS6.5_x64

服务器:

            192.168.1.20  (master1)
            192.168.1.21  (master1)
 

安装配置:

不介绍怎么安装了,看02-02-Linux上搭建各种软件开发环境笔记
测试只同步test库,master版本一定要>=slave版本
mysql> SELECT VERSION();
 配置文件及解释:
  1. #######################配置master-master1#######################
  2. user=mysql
  3. log-bin=mysql-bin
  4. #指定自己编号,一个集群中id唯一
  5. server-id=1
  6. #要同步的数据库,通过二进制日志同步,所以这里提示"要记录二进制日志的数据库"
  7. binlog-do-db=test
  8. #和binlog-do-db=test对应;如果要同步多个库,这两项参数多个几个就行了.
  9. replicate-do-db=test
  10. #指定哪些库不同步,mysql库肯定不能同步,毕竟每个库上面的用户信息和参数不同
  11. binlog-ignore-db=mysql
  12. #同上面忽略记录日志的库一一对应;是不要记录日志的数据库名,多个数据库中间用逗号(,)隔开
  13. replicate-ignore-db=mysql
  14. #表示如果一个MASTER挂掉的话,另外一个马上接管
  15. log-slave-updates
  16. #跳过同步过程中sql错误
  17. slave-skip-errors=all
  18. #开启同步
  19. sync_binlog=1
  20. #自增主键,每次+2
  21. auto_increment_increment=2
  22. #自增主键,从1开始,每次+2
  23. auto_increment_offset=1
  24. #######################EOF######################################
  25. #######################配置master-master2#######################
  26. user=mysql
  27. log-bin=mysql-bin
  28. #指定自己编号,一个集群中id唯一
  29. server-id=2
  30. #要同步的数据库,通过二进制日志同步,所以这里提示"要记录二进制日志的数据库"
  31. binlog-do-db=test
  32. #和binlog-do-db=test对应;如果要同步多个库,这两项参数多个几个就行了.
  33. replicate-do-db=test
  34. #指定哪些库不同步,mysql库肯定不能同步,毕竟每个库上面的用户信息和参数不同
  35. binlog-ignore-db=mysql
  36. #同上面忽略记录日志的库一一对应;是不要记录日志的数据库名,多个数据库中间用逗号(,)隔开
  37. replicate-ignore-db=mysql
  38. #表示如果一个MASTER挂掉的话,另外一个马上接管
  39. log-slave-updates
  40. #跳过同步过程中sql错误
  41. slave-skip-errors=all
  42. #开启同步
  43. sync_binlog=1
  44. #自增主键,每次+2
  45. auto_increment_increment=2
  46. #自增主键,从1开始,每次+2
  47. auto_increment_offset=2
  48. #表示从mysql服务器启动时不启动同步线程,这就要在启动从服务器之后,手工启动同步线程,在mysql> 提示符下面运行“start slave”就可以
  49. skip-slave-start
  50. #######################EOF######################################
重启2台MySQL服务器.
#master1
$ mysql -uroot -p
mysql> grant replication slave on *.* to 'replication'@'%' identified by 'replication';    #在master1上创建一个用户用于同步
mysql> flush privileges;
mysql> show master status;
mysql> show processlist;        #查看同步线程
 
#master2
$ mysql -uroot -p
#master_log_file和master_log_pos的值是上一步在master上查出来的,
mysql> change master to master_host='192.168.1.20',master_user='replication',master_password='replication',master_log_file='mysql-bin.000001',master_log_pos=406;
mysql> start slave;
mysql> show slave status;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> grant replication slave on *.* to 'replication'@'%' identified by 'replication';
mysql> flush privileges;
mysql> show master status;
mysql> show processlist;
 
#测试同步数据
###master1
mysql> use test;
mysql> CREATE TABLE IF NOT EXISTS users (id integer UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,NAME varchar(100) NOT NULL UNIQUE,passwd varchar(100));
mysql> show tables;     #此时再master2也可以看到该表
mysql> insert into users values(1,'1','1');
mysql> select * from users;
 
###master2
mysql> show tables;
mysql> select * from users;
mysql> insert into users values(2,'2','2');
mysql> select * from users;

23.mysql集群(master-master)的更多相关文章

  1. Keepalived详解(五):Keepalived集群中MASTER和BACKUP角色选举策略【转】

    一.Keepalived集群中MASTER和BACKUP角色选举策略 在keepalived集群中,其实并没有严格意义上的主.备节点,虽然可以在keepalived配置文件中设置state选项为MAS ...

  2. k8s集群———单master节点2node节点

    #部署node节点 ,将kubelet-bootstrap用户绑定到系统集群角色中(颁发证书的最小权限) kubectl create clusterrolebinding kubelet-boots ...

  3. 高可用性、负载均衡的mysql集群解决方案

    高可用性.负载均衡的mysql集群解决方案 一.mysql的市场占有率 二.mysql为什么受到如此的欢迎 三.mysql数据库系统的优缺点 四.网络服务器的需求 五.什么是mysql的集群 六.什么 ...

  4. windowsxp下的mysql集群技术

    1.准备工作 a.系统环境为:Windows Xp系统 b.mysql版本为:MySQL Server 5.5 c.mysql cluster版本为:mysql-cluster-gpl-noinsta ...

  5. MySQL集群高可用

    目录 MySQL高可用 Galera Cluster Galera Cluster Galera Cluster特点 Galera Cluster 缺点 Galera Cluster工作过程 Gale ...

  6. 关于mysql集群主从服务器搭建

    在高并发流量下,数据库往往是服务端的瓶颈,由于数据库数据需要确保落地,同时保证数据同步,数据即时性,有效性的问题,导致数据库不能像平常后端程序一样负载均衡. 那么在大并发下,该如何缓解数据库的压力呢? ...

  7. 容器化|自建 MySQL 集群迁移到 Kubernetes

    背景 如果你有自建的 MySQL 集群,并且已经感受到了云原生的春风拂面,想将数据迁移到 Kubernetes 上,那么这篇文章可以给你一些思路. 文中将自建 MySQL 集群数据,在线迁移到 Kub ...

  8. MySQL集群搭建(5)-MHA高可用架构

    1 概述 1.1 MHA 简介 MHA - Master High Availability 是由 Perl 实现的一款高可用程序,出现故障时,MHA 以最小的停机时间(通常10-30秒)执行 mas ...

  9. mysql集群数据一致性校验

    目前,mysql在互联网行业使用地如火如荼,很多大型网站都在使用MySQL数据库,通过搭建mysql主备集群,实现高性能,高可用的存储方案.mysql集群的共同特性是通过复制来实现主备间的同步,保证主 ...

随机推荐

  1. JQuery selector - not

    <div class="table"> <div class="row header"></div> <div cla ...

  2. node 实现视频播放后端,前端使用video标签,视频文件视频mp4

    var fs = require("fs"), http = require("http"), url = require("url"), ...

  3. web应用安全防御100技 好书再次阅读, 变的只是表象,被概念迷惑的时候还是静下心来回顾本质

    如何进行web应用安全防御,是每个web安全从业者都会被问到的问题,非常不好回答,容易过于肤浅或流于理论,要阐明清楚,答案就是一本书的长度.而本文要介绍一本能很好回答这个问题的优秀书籍——<we ...

  4. IOS随机随学

    1.Objective-C是一种面向对象的语言. 2.Objective-C类声明和实现包括两个部分:接口部分和实现部分. 3.Objective-C中方法不是在“.”运算符,而是采用“[]”运算符. ...

  5. 字符转换(C、C++)

    标准C和C++库提供了一些转换工具.但是它们在易用性.扩展型和安全型上各有不同. 例如,以atoi为代表的一系列标准C函数就有一些限制: * 只支持单向转换:从文本到内部数据类型.要用C库函数实现另一 ...

  6. PL/SQL Developer连接Oracle 11g在Win8 64位系统下乱码

    PL/SQL Developer在64位系统上连接Oracle,需要安装32位Oracle client客户端,使用后,发现操作数据库出现乱码的情况.经过查找资料,解决此问题,方法如下: 需要在系统的 ...

  7. Mysql 5.7 Linux安装详细步骤

    版权声明:本文为博主原创文章,未经博主允许不得转载. 1.下载安装包 http://dev.mysql.com/downloads/mysql/#downloads 推荐下载通用安装方法的TAR包(h ...

  8. 简单谈谈eclipse下搭建PhoneGap环境来开发Android程序 - linux86(转)

    原来在逛园子的时候一不小心发现了一个新概念“PhoneGap”简称PG,我一直都喜欢追逐新事物,自然就产生了好奇心.于是乎我就在百度上面Google了一下PhoneGap是什么东西.简单的说就是用另一 ...

  9. js-sort数组排序

    婆婆妈妈,直上代码: <body> <div> sort()对数组排序,不开辟新的内存,对原有数组元素进行调换 </div> <div id="sh ...

  10. 自发行python版本制作(一)

    最近使用python开发一些小玩意,发现python实在很符合我的理念:轻量级,功能强大,开放. python是一种脚本语言,不像java那样需要沉重的编译过程.这使得python更显得轻巧灵便,可以 ...