参考:

软件:

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. Linux(Ubuntu)环境下使用Fiddler

    自己的开发环境是Ubuntu, 对于很多优秀的软件但是又没有Linux版本这件事,还是有点遗憾的.比如最近遇到一个问题,在分析某个网站的请求路径和cookie时就遇到了问题.本来Chome浏览器自带的 ...

  2. Activityn 生命周期

    前言 Activity 生命周期,虽然开发android 程序有几年了,但是很多基本东西还是经常遗忘模糊,在此笔记白纸黑字记录,下次记忆模糊的时候温故知新.网上一搜索一大把,但是多是一大堆各种日志搅来 ...

  3. java线程(2016-4-7)

    Thread.yield()的调用是对线程调度器(Java线程机制的一部分,可以将CPU从一个线程转移到另一个线程)的一种建议,它在声明:"我已经执行完生命周期中最重要的部分了,此刻正是切换 ...

  4. 详解clientHeight、offsetHeight、scrollHeight

    关于clientHeight.offsetHeight.scrollHeight   window.screen.availWidth 返回当前屏幕宽度(空白空间)  window.screen.av ...

  5. Select Tree Node

    这里用到了Oracle的一个树形结构查询函数select *  from record START WITH A.TREE_NODE IN ('COST_CTR_10053')CONNECT BY P ...

  6. Fiddler 常用文档

    时间飞逝,已经俩月有余没写东西了(本来写的就不多,(^▽^)),最近俩月的苦闷,此处省略 1W 字.... 闲言碎语不多讲,使用 Fiddler 有一小段时间了,今天在这里总结下,一来做个笔记,二来可 ...

  7. Spring.Net 初探之牛刀小试

    又是一个周末,感受着外面30°的高温,果断宅在家里,闲来无事,就研究了一下spring .net 框架, 在这里不得不说 vs2013确实是一个强大的开发工具(起码对于.net开发来说是这样的),哈哈 ...

  8. DELPHI XE5

    一直觉得DELPHI7之后,如果写WINDOWS桌面应用,没什么变化. 一直在痛苦,为什么DELPHI提供的控件那么丑陋,透明等什么功能都做的那么差. 一直在郁闷,新装的DELPHI都不带DEMO. ...

  9. [WCF]DomainServices客户端操作异常处理

    作为个人备忘,不做排版.此扩展函数用于DomainServices的Load及SubmitChanges时处理Error信息,包括验证消息.实体冲突. public static string ToE ...

  10. 在ie与火狐的兼容性

    1.在火狐下  document.getElementById("id").textContent可以获取当前获取id下的内容   而在ie下则为:document.getElem ...