Mysql双主同步

原创 2015年07月07日 08:38:32
解决数据库瓶颈问题
两台服务器可以同时读写数据库
A B两台服务器 
A和B需要拥有一个同名的数据库
同步账号设置
首先要在两台服务器上各新增加一个可登陆的账号。
A端25
mysql
grant replication slave,file on *.* to 'repl1'@'192.168.1.26' identified by '521521';
B端26
mysql
grant replication slave,file on *.* to 'repl2'@'192.168.1.25' identified by '521521';

修改my.cnf主配置文件
vim /etc/my.cnf        放的位置不能错
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risk
ssymbolic-links=0
log-bin=mysql-bin  #启动二进制日志系统
server-id=1              #本机数据库ID标示为主,另一为2
binlog-do-db=test   #二进制需同步的数据库名
binlog-ignore-db=mysql   #避免同步用户数据库配置
replicate-do-db=test    #同步数据库的名称
replicate-ignore-db=mysql   #屏蔽对mysql数据库的同步
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1           B端配置2
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


mysql -u root -p 
flush tables with read lock;    #锁定表格
service mysqld restart
mysql 
show master status\G  #查看主服务器同步状态
A端是这样的
mysql> show master status\G
*************************** 1. row ***************************
            File: mysql-bin.000001
        Position: 106
    Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)
B端是这样的
mysql> show master status\G
*************************** 1. row ***************************
            File: mysql-bin.000002
        Position: 106
    Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)

#设定同步服务器ip 用户名与口令和日志文件名与show master status\G 输出结果一致。
A端:
mysql
change master to master_host='192.168.1.26', master_user='repl2', master_password='521521', master_log_file='mysql-bin.000002', master_log_pos=106;
B端:
mysql
change master to master_host='192.168.1.25', master_user='repl1', master_password='521521', master_log_file='mysql-bin.000001', master_log_pos=106;


start slave; 两段互为辅助
show slave status\G  验证配置
unlock tables;  解锁验证

1.  Master_host 指的是 主服务器的地址。 

2. Master_user 指的是主服务器上用来复制的用户。  从服务器会用此账号来登录主服务。进行复制。

3. Master_log_file 就是前面提到的, 主服务器上的日志文件名.

4. Read_Master_log_pos 就是前面提到的主服务器的日志记录位置, 从服务器根据这两个条件来选择复制的文件和位置。

5. Slave_IO_Running 指的就是从服务器上负责读取主服务器的线程工作状态。 从服务器用这个专门的线程链接到主服务器上,并把日志拷贝回来。

6. Slave_SQL_Running 指的就是专门执行sql的线程。 它负责把复制回来的Relaylog执行到自己的数据库中。 这两个参数必须都为Yes 才表明复制在正常工作。


此时你在A或者B端对test数据库里的内容进行修改,另一端会同步你的更改










MySQL主主数据同步

MySQL主主同步和主从同步的原理一样,只是双方都是主从角色。环境操作系统版本:CentOS7 64位 MySQL版本:mysql5.6.33 节点1IP:192.168.1.205 ...
  • xyang81
  • xyang81
  • 2016年09月17日 18:00
  • 10670

MySQL 高可用:主从配置或主主(双主)配置

mysql 的主从复制可以实现mysql的多种高可用性,如数据库的读写分离 ,在线热备,负载均衡,数据分布 等。 mysql 主从同步原理: 1.  master 将操作记录到二进制日志(bina...
  • kk185800961
  • kk185800961
  • 2015年10月19日 01:19
  • 10765

Mysql的主从同步和双向同步

Mysql的主从同步(新数据库)  数据库同步复制功能的设置都是在mysql的配置文件(liunx 下是为/etc/my.cnf)中体现的。主要工作原理为slave端记录并且执行master端的...
  • amery2011
  • amery2011
  • 2016年09月02日 10:04
  • 475

MySQL 主主(双主)复制

MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务...
  • JeffreyNicole
  • JeffreyNicole
  • 2012年12月17日 21:16
  • 28165

MySQL 5.7.13主从同步(复制)配置

主从同步是分布式mysql数据库相当重要的配置,现在我在虚拟机上完成主从配置,系统是CentOS6.5,mysql版本是5.7.13 主服务器的ip是192.168.19.139 副服务器的ip是1...
  • sinianliushui
  • sinianliushui
  • 2017年01月04日 14:54
  • 1209

windows下两个mysql5.7的主从配置实现数据库同步

一、实验环境 主服务器地址:49.123.105.71    从机地址:10.63.42.107
  • jinxiaodou
  • jinxiaodou
  • 2014年10月27日 12:50
  • 2105

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

一、MySQL复制概述    ⑴、MySQL数据的复制的基本介绍    目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不...
  • goustzhu
  • goustzhu
  • 2013年07月16日 10:08
  • 33652

MySql主从、双主同步文档

  • 2016年11月15日 17:58
  • 460KB
  • 下载

MySQL数据同步【双主热备】

应用环境数据库同步方式创建数据库表配置数据库my.ini文件 my.ini文件简单释义配置双向同步配置项释义 设置主机并启动从服务器线程 show slave status 测试同步解决自增长列...
  • u011244446
  • u011244446
  • 2016年07月11日 10:29
  • 293

MySQL数据同步【双主热备】

目录   应用环境 数据库同步方式 创建数据库表 配置数据库my.ini文件 my.ini文件简单释义 配置双向同步 配置项释义...
  • dyllove98
  • dyllove98
  • 2013年05月30日 22:42
  • 665
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mysql双主同步
举报原因:
原因补充:

(最多只允许输入30个字)