数据库主主复制

Mysql主主复制

一、环境描述

服务器A   192.168.1.108

服务器B   192.168.1.110

Mysql版本:5.1.26

System OS:CentOS release 5.4

二、主主配置过程

1、创建同步用户:

服务器A:

grant replication slave,file on *.* to ‘replication‘@‘192.168.1.110‘ identified by ‘123456‘;

flush privileges;

服务器B:

grant replication slave,file on *.* to ‘replication‘@‘192.168.1.108‘ identified by ‘123456‘;

flush privileges;

2、修改mysql配置文件

A:

log-bin=mysql-bin
server-id       = 1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

B:

log-bin=mysql-bin
server-id       = 2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=2

参数选项说明:
log-slave-updates    将执行的复制sql记录到二进制日志
sync_binlog  当有二进制日志写入binlog文件的时候,mysql服务器将它同步到磁盘上
auto_increment_increment,auto_increment_offset 主要用于主主复制中,用来控制AUTO_INCREMENT列的操作

3、重启mysql服务后,进入mysql命令行,执行操作如下:

A:

mysql>
flush tables with read lock;

mysql>
show master status\G

*************************** 1. row
***************************

File: mysql-bin.000028

Position: 866

Binlog_Do_DB: test

Binlog_Ignore_DB: mysql

1 row in set (0.00 sec)

mysql> unlock tables;

mysql>
stop slave;

mysql> change
master to
master_host=‘192.168.1.110‘,master_user=‘replication‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000014‘,
master_log_pos=704;

mysql>
start slave;

B:

mysql>
flush tables with read lock;

mysql>
show master status\G

*************************** 1. row
***************************

File: mysql-bin.000014

Position: 704

Binlog_Do_DB: test

Binlog_Ignore_DB: mysql

1 row in set (0.00 sec)

mysql> unlock tables;

mysql>
stop slave;

mysql> change
master to master_host=‘192.168.1.108‘,master_user=‘replication‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000028‘,
master_log_pos=866;

mysql>
start slave;

4、查看各服务器的状态:

mysql>
show slave status\G;

出现:Slave_IO_Running: Yes

Slave_SQL_Running: Yes

则状态正常,直接测试数据能否同步就OK了!

时间: 2024-08-04 01:47:07

数据库主主复制的相关文章

MYSQL数据库主主同步实战

MYSQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知下一次更新. 在实际项目中,两台分布于异地的主机上安装有MYSQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台

MySql数据库主主同步配置步骤

测试环境: 192.168.1.192 192.168.1.193 mysql5.2 配置192服务器: /usr/local/mysql/bin/mysql -uroot -p 授权: grant replication slave,file on *.* to 'xm1'@'192.168.1.193' identified by '100200'; 刷新: flush privileges; 配置193服务器: /usr/local/mysql/bin/mysql -uroot -p 授权

Mysql数据库主主互备

实验环境: 系统: Centos6.4 64 masterA:192.168.1.223 masterB:192.168.1.224 要求:实现两服务器之间数据的同步 首先做的事安装mysql,并能正常登陆 [[email protected] ~]# service mysqld restart Stopping mysqld:                                           [  OK  ] Starting mysqld:                

Mysql实现数据库主从复制、主主复制、半同步复制

--------------Mysql实现数据库主从复制架构---------------- 一.环境准备: centos系统服务器2台.一台用户做Mysql主服务器,一台用于做Mysql从服务器,配置好yum源.防火墙关闭.各节点时钟服务同步.各节点之间可以通过主机名互相通信 192.168.41.145   master 192.168.41.137  slave 二.准备步骤: 1.iptables -F && setenforce 清空防火墙策略,关闭selinux 2.①vim

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

一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费多久,不容乐观的未来,但是我们还是要能熟练掌握MySQL数据的架构和安全备份等功能,毕竟现在它还算是开源界的老大吧! MySQL数据库支持同步复制.单向.异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环

MySQL集群(二)之主主复制

前面介绍了主从复制,这一篇我将介绍的是主主复制,其实听名字就可以知道,主主复制其实就是两台服务器互为主节点与从节点.接下来我将详细的给大家介绍,怎么去配置主主复制! 一.主从复制中的问题 1.1.从节点占用了主节点的自增id 环境: 主节点:zyhserver1=1.0.0.3 从节点:udzyh1=1.0.0.5 第一步:我们在主节点中创建一个数据库db_love_1,在创建一个表tb_love(里面有id自增和name属性). create database db_love_1; use d

数据库主键和外键

1 什么是主键 外键 学生表(学号,姓名,性别,班级)   学号是一个主键 课程表(课程号,课程名,学分) 课程号是一个主键 成绩表(学号,课程号,成绩) 学号和课程号的属性组构成一个主键 成绩表中的学号不是成绩表的主键,不过是学生表的主键,成绩表的外键,同理课程号也是成绩表的外键 定义:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键 以一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表 2 外键的作用 外键用于保持数据一致性,完整性 主要目的

MariaDB数据库主从复制、双主复制、半同步复制、基于SSL的安全复制实现及其功能特性介绍

一.复制概述 MariaDB/MySQL内建的复制功能是构建大型,高性能应用程序的基础.将MySQL的数据分布到多个系统上去,这种分布的机制,是通过将MySQL的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位

Keepalived+LVS+MariaDB Galera Cluster10.0高可用负载均衡多主复制

一.概述 1.简述: MariaDB Galera Cluster 是一套在mysql innodb存储引擎上面实现multi-master及数据实时同步的系统架构,业务层面无需做读写分离工作,数据库读写压力都能按照既定的规则分发到各个节点上去.在数据方面完全兼容 MariaDB.Percona Server和MySQL. 2.特性: (1).同步复制 Synchronous replication (2).Active-active multi-master 拓扑逻辑 (3).可对集群中任一节