参考:

软件:

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. Leetcode: Valid Word Abbreviation

    Given a non-empty string s and an abbreviation abbr, return whether the string matches with the give ...

  2. WebSocket///////////////////////z

    作者:Ovear链接:http://www.zhihu.com/question/20215561/answer/40316953来源:知乎著作权归作者所有,转载请联系作者获得授权. 一.WebSoc ...

  3. 。。。欢乐捕鱼App WeX5 连接打包代理服务失败,请检查代理服务地址是否正确。。。

    今天学习了WeX5,第一次使用,使用它打包一个Web App 欢乐捕鱼的时候,在最终打包生成Native App的时候突然报错了,说:"连接打包代理服务失败,请检查代理服务地址是否正确&qu ...

  4. c#中按键小技巧

    以后会补充其他的内容

  5. asp.net5 操作Cookie

    写入Cookie var CookieOption = new CookieOptions(); CookieOption.Path = "/"; //on localhost, ...

  6. IBM WebSphere MQ的oracle的jdbc

    一.IBM WebSphere MQ7.0的jdbc支持数据库有: DB2 Informix Informix_With_Date_Format Microsoft_SQL_Server Oracle ...

  7. angularJS和jQuery的区别

    问题: 假如我熟悉利用jQuery去开发客户端应用,那么我怎么上手angularjs,能否描述下所需要的模式转变,下面这些问题能够帮助你给出一个回答: 1.在设计客户端web应用的时候有什么区别,最大 ...

  8. 用python在linux下获取网卡地址

    使用一个第三方库,名为psutil 代码如下: #!/usr/bin/python # -*- coding:utf-8 -*- import psutil def get_netcard(): ne ...

  9. “You couldn’t see my tears cause I am in the water.“ Fish said to water.“But I could feel your tears cause you are in my heart..“ Answered water.

    “You couldn’t see my tears cause I am in the water.“ Fish said to water.“But I could feel your tears ...

  10. The Bottom of a Graph-POJ2553强连通

    The Bottom of a Graph Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 9759 Accepted: 4053 ...