参考:

软件:

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. insert into linksvr or insert into from linksvr

    通过链接服务器将实例A上的数据写入实例B,通常有以下两种方式--方案1:在实例A上执行insert into LinkForB.B..TableB select * from TableA--方案2: ...

  2. 在CentOS下自动备份mysql

    在CentOS下自动备份mysql数据库,并差异同步到其它网络主机上 1.在/root/mysql_backup/下添加backup.sh:vim /root/mysql_backup/backup. ...

  3. 使用Charles检测HTTPS网站的数据包

    1.下载Charles 下载地址:https://www.charlesproxy.com/download/ 2.安装Charles的证书 选择Help->SSL Proxying->I ...

  4. Java中String、StringBuffer、StringBuilder区别与理解

    一.先比较String.StringBuffer.StringBuilder变量的HashCode值 使用System.out.println(obj.hashcode())输出的时对象的哈希码, 而 ...

  5. 怎样给Myeclipse配置tomcat服务器

    http://jingyan.baidu.com/article/4853e1e53465271909f72690.html Meclipse是java Web企业级开发中最流行的工具,java we ...

  6. Base64 的那些事儿

    一.Base64是什么? Base64是一种编码的格式.是将信息流(字节流)按照一定的规范,重新组合,显示出完全不相关内容的编码格式. ps.定义是我自己总结的,我觉得对于知识的定义,只要简洁,不错误 ...

  7. c#-快速排序-算法

    快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists). 步骤为: 1.从数列中挑出一个元素,称为 "基准"(p ...

  8. github创建文件夹

      网页上只能通过在创建新文件的时候顺便创建文件夹(文件夹与文件用 / 隔开),例如home/test.md就在该仓库下创建了一个文件夹home,该文件夹下有一个新的文件test.md

  9. oracle优化:避免全表扫描(高水位线)

    如果我们查询了一条SQL语句,这条SQL语句进行了全表扫描,那到底是扫描了多少个数据块呢?是表有多少数据,就扫描多少块吗?不是的.而是扫描高水位线一下的所有块.有的时候有人经常说,我的表也不大呀,怎么 ...

  10. Asp.net mvc 添加Jquery UI

    1.使用NuGet下载jquery ui Install-Package jQuery.UI.Combined 2.下载多语言文件: development-bundle/i18n目录下是jquery ...