MySQL5. 主主复制
环境如下:
CentOS6.4_64
MySQL5.
master1:192.168.10.11
master2:192.168.10.12
1.1 配置 master1
a. 修改 my.cnf 文件,增加如下内容:
server-id= #数据库 ID 号
log-bin=mysql-bin #启用二进制日志;
binlog-do-db=baba1 #需要同步的数据库名,这里同步 baba1、baba2 两数据库
binlog-do-db=baba2
binlog-ignore-db=mysql #不同步的数据库名,如果不设置可以将其注释掉
log-bin=/var/log/mysqlbin/bin_log #设定生成的 log 文件名,如果没有/var/log/mysqlbin 目录,
则创建,并执行 chown -R mysql.mysql /var/log/mysqlbin
log-slave-updates #把从库的写操作,记录到 binlog 中
expire_logs_days= #日志文件过期天数,默认是 ,表示不过期
auto-increment-increment= #设定为主服务器的数量,防止 auto_increment 字段重复
auto-increment-offset= #自增长字段的初始值,在多台 master 环境下,不会出现自增
长 ID 重复
b. 添加一个复制帐号 backup
[root@localhost ~]# mysql -uroot -p123456
mysql>grant replication slave on *.* to backup@'%' identified by '';
mysql>flush privileges;
c. 在 master2 上测试是否能连接到 master1,记得把 添加到 iptables 里
[root@localhost ~]# mysql -ubackup -h 192.168.10.11 -p123456
1.2 配置 master2
a. 修改 my.cnf 文件,增加如下内容:
server-id= #数据库 ID 号
log-bin=mysql-bin #启用二进制日志;
binlog-do-db=baba1 #需要同步的数据库名,这里同步 baba1、baba2 两数据库
binlog-do-db=baba2
binlog-ignore-db=mysql #不同步的数据库名,如果不设置可以将其注释掉
log-bin=/var/log/mysqlbin/bin_log #设定生成的 log 文件名,如果没有/var/log/mysqlbin 目录,
巴巴网(www.baba.io)为您提供图书、文档、源码、工具等资源的下载,是您最好的资源下载网。
本系列文档,由巴巴网(www.baba.io)独家发行,如需最新版本,请访问 www.baba.io
则创建,并执行 chown -R mysql.mysql /var/log/mysqlbin
log-slave-updates #把从库的写操作,记录到 binlog 中
expire_logs_days= #日志文件过期天数,默认是 ,表示不过期
auto-increment-increment= #设定为主服务器的数量,防止 auto_increment 字段重复
auto-increment-offset= #自增长字段的初始值,在多台 master 环境下,不会出现自增
长 ID 重复
b. 添加一个复制帐号 backup
[root@localhost ~]# mysql -uroot -p123456
mysql>grant replication slave on *.* to backup@'%' identified by '';
mysql>flush privileges;
c. 在 Master1 上测试是否能连接到 Master2,记得把 添加到 iptables 里
[root@localhost ~]# mysql -ubackup -h 192.168.10.12 -p123456
1.3 设置 master-master 同步
a. 重启 master1、master2 上的 MySQL
[root@localhost ~]# service mysql restart
b. 查看 master1 的状态
[root@localhost ~]# mysql -uroot -p123456
mysql> show master status;
+----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| bin_log. | | baba1,baba2 | mysql | |
+----------------+----------+--------------+------------------+-------------------+
row in set (0.00 sec)
c. 查看 master2 的状态
[root@localhost ~]# mysql -uroot -p123456
mysql> show master status;
+----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| bin_log. | | baba1,baba2 | mysql | |
+----------------+----------+--------------+------------------+-------------------+
row in set (0.00 sec)
c. 设置 master1 从 master2 同步数据
mysql>CHANGE MASTER TO MASTER_HOST='192.168.10.12',MASTER_PORT=,
巴巴网(www.baba.io)为您提供图书、文档、源码、工具等资源的下载,是您最好的资源下载网。
本系列文档,由巴巴网(www.baba.io)独家发行,如需最新版本,请访问 www.baba.io
MASTER_USER='backup',MASTER_PASSWORD='',MASTER_LOG_FILE='bin_log.00
',MASTER_LOG_POS=120;
mysql> start slave;
#查询数据库的 slave 状态
mysql> show slave status\G;
#如果下面两个参数都是 Yes,则说明 master1 配置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
d. 设置 master2 从 master1 同步数据
mysql>CHANGE MASTER TO MASTER_HOST='192.168.10.11',MASTER_PORT=,
MASTER_USER='backup',MASTER_PASSWORD='',MASTER_LOG_FILE='bin_log.00
',MASTER_LOG_POS=120;
mysql> start slave;
#查询数据库的 slave 状态
mysql> show slave status\G;
#如果下面两个参数都是 Yes,则说明 master1 配置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
1.4 测试主主复制
a. 在 master1 上,执行如下操作:
[root@localhost ~]# mysql -uroot -p123456
mysql> create database baba1;
mysql> use baba1;
mysql> create table test(id int AUTO_INCREMENT,name varchar(),PRIMARY KEY (`id`));
mysql> insert into test(name)values('aaa');
mysql> insert into test(name)values('bbb');
mysql> insert into test(name)values('ccc');
mysql> select * from test;
+----+------+
| id | name |
+----+------+
| | aaa |
| | bbb |
| | ccc |
+----+------+
rows in set (0.00 sec)
b. 在 master2 上,执行如下操作:
巴巴网(www.baba.io)为您提供图书、文档、源码、工具等资源的下载,是您最好的资源下载网。
本系列文档,由巴巴网(www.baba.io)独家发行,如需最新版本,请访问 www.baba.io
[root@localhost ~]# mysql -uroot -p123456
mysql> use baba1;
mysql> select * from test;
+----+------+
| id | name |
+----+------+
| | aaa |
| | bbb |
| | ccc |
+----+------+
rows in set (0.00 sec)
mysql> insert into test(name)values('ddd');
mysql> insert into test(name)values('eee');
mysql> insert into test(name)values('fff');
mysql> select * from test;
+----+------+
| id | name |
+----+------+
| | aaa |
| | bbb |
| | ccc |
| | ddd |
| | eee |
| | fff |
+----+------+
rows in set (0.00 sec)

MySQL主主复制的更多相关文章

  1. mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

    数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了 ...

  2. mysql数据库主从及主主复制配置演示

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有2台主机,IP分配如拓扑 实验软件:mariadb-10.0.20 实验拓 ...

  3. MySQL复制环境(主从/主主)部署总结性梳理

    Mysql复制概念说明Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves) ...

  4. MySQL数据的主从复制、半同步复制和主主复制详解

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  5. MySQL主主复制3

    一.创建并授权用户 在每一台(主)服务器上创建一个用户,并为之授权,使它们可以互相访问彼此的数据库 在Server-1上: 创建一个充许Server-2来访问的用户server2,密码为:server ...

  6. 【MySQL】主备复制

    复制对于mysql的重要性不言而喻,mysql集群的负载均衡,读写分离和高可用都是基于复制实现.下文主要从4个方面展开,mysql的异步复制,半同步复制和并行复制,最后会简单聊下第三方复制工具.由于生 ...

  7. mysql主主复制(双主复制)配置步骤

    以前我们介绍的都是主从复制,这里给各位介绍一个双主复制了,下面都希望两个主服务器数据自动复制的话可参考一下此文章.   MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台 ...

  8. mysql主从复制 主主复制 读写分离

    首先是mysql的主从复制很简单 主主复制也就是互相主从最麻烦的最难的就是日志恢复,增量恢复什么的比较复杂 首先如果你不会安装mysql版本最好一样,或者往上的版本,因为mysql是向下兼容 请注意不 ...

  9. MYSQL的主从和主主复制模式

    一.复制介绍 MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录 ...

随机推荐

  1. .NET蓝牙开源库:32feet.NET

    在用C#调用蓝牙编程一文中我留个小悬念就是:InTheHand.Net.Personal.dll是怎么来的?这篇文章来解答这个问题,InTheHand.Net.Personal.dll就是来源于今天要 ...

  2. C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。

    作业的具体要求如下: 编写一个完整的程序,实现如下功能.(1)    输入10个无序的整数.(2)    用选择排序法将以上接收的10个无序整数按从大到小的顺序排序.(3)    要求任意输入一个整数 ...

  3. destoon系统中get_maincat的用法及解释

    get_maincat函数的用法, 如get_maincat(0, $mid, 1),其中第一.二.三个参数分别表示什么? 第一个参数代表parentid 第二个参数代表所有的分类 第三个参数 代表 ...

  4. [poj1182]食物链(并查集+补集)

    食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64841   Accepted: 19077 Description ...

  5. linux内核学习心得

    最初在其他课程做实验的时候接触到了linux,震撼于linux的开源精神,想更了解linux的内部原理,选了这门课程.通过这门课程对linux内部实现有了一定的了解,主要是中断.进程切换.系统函数的具 ...

  6. div中的内容水平垂直居中

    1. div高度自适应的情况 div在不设置高度的时候,会被里面的内容撑开,内容自动填充在div中,无论是一行内容还是多行内容,此时不需要设置垂直居中,内容自动在中间的, 想要看的更直观些,只需要加上 ...

  7. springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传

    总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...

  8. 转!! PreparedStatement是如何防止SQL注入的

    SQL注入最简单也是最常见的例子就是用户登陆这一模块,如果用户对SQL有一定的了解,同时系统并没有做防止SQL注入处理,用户可以在输入的时候加上'两个冒号作为特殊字符,这样的话会让计算机认为他输入的是 ...

  9. sql server sql语句导入数据到execl2007中

    insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\c.xlsx','select 字段1,字段2 FR ...

  10. 转载:ViewHolder为什么声明为static

    转自:http://www.cnblogs.com/bluestorm/p/5867061.html ListView优化中ViewHolder要不要定义为static静态内部类?   给学生讲课的时 ...