master1:192.168.128.47

master2:192.168.128.96
slave:192.168.128.97
 
master1与master2互备,master2作为slave的master
①,在master1端:
修改my.cnf
server-id = 1
auto_increment_increment = 2
auto_increment_offset = 1
#binlog_do_db = sssjpt,sakila,test  --可选,用来指定master端的那些db操作记录binlog
#binlog_ignore_db = mysql  --可选,用来指定master端的那些db操作不记录binlog
#replicate_do_db = sssjpt,sakila,test --可选,用来指定slave端的SQL线程应用master端传来的哪些DB binlog
#replicate_ignore_db = mysql
log_slave_updates --同步master端的二进制日志来完成同步时的操作也记录当前库二进制日志,这样可以将该slave作为另一个slave的master
参数解释:
auto_increment_increment = 2
auto_increment_offset = 1
主要用于master-master端,因为两台master节点都有可能同时发生写操作,这样的话就有可能发生auto_increment 键值冲突,现在将auto_increment_increment=2,auto_increment_offset=1,在master1端每次执行自增操作时都会增加比当前数据最大值大2的数据,并且从最大值的后面第1个位置开始,每次增加2个数。如,1,3,5,7 。。。
将auto_increment_increment=2,auto_increment_offset=2,在master2端每次执行自增操作时都会增加比当前数据最大值大2的数据,并且从最大值的后面第2个位置开始,每次增加2个数,如,2,4,6,8 。。。
如果在主从同步中只让一个master执行写的话,则没有比较设置auto_increment_increment,auto_increment_offset参数
不过在新版本的mysql里面,可以通过innodb_autoinc_lock_mode参数来限制
 
②,
master1:
grant replication slave to *.* on backup@'192.168.128.96' identified by '123456';
show master status;
mysqldump -uroot -p --databases db1 db2 --lock-all-tables > /tmp/dump.sql
scp /tmp/dump.sql root@192.168.128.96:/tmp
master2:
mysql -uroot -p < /tmp/dump.sql
change master to master_host='192.168.128.47',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
start slave;
 
③,在master2端:
修改my.cnf
server-id = 2 
auto_increment_increment = 2
auto_increment_offset = 2
#binlog_do_db = sssjpt,sakila,test
#binlog_ignore_db = mysql
#replicate_do_db = sssjpt,sakila,test
#replicate_ignore_db = mysql
log_slave_updates --同步master端的二进制日志来完成同步时的操作也记录当前库二进制日志,这样可以将该slave作为另一个slave的master
 
④,
master2:
grant replication slave to *.* on backup@'192.168.128.47' identified by '123456';
show master status;
 
master1:
change master to master_host='192.168.128.96',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
start slave;
 
⑤,
master1:
scp /tmp/dump.sql root@192.168.128.97:/tmp
slave:
修改my.cnf
server-id = 3 
#binlog_do_db = sssjpt,sakila,test
#binlog_ignore_db = mysql
#replicate_do_db = sssjpt,sakila,test
#replicate_ignore_db = mysql
 
mysql -uroot -p < /tmp/dump.sql
change master to master_host='192.168.128.97',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
start slave;

mysql master master slave 环境搭建的更多相关文章

  1. MySQL双机热备环境搭建

    一.    前期准备 准备两台服务器(电脑),接入到同一局域网中,能够使双方可以ping通: 安装MySQL数据库,具体安装方法网上很全面,但是安装的版本需保持一致: 服务器IP地址设置. l  A服 ...

  2. 自学php的几个例子(包含AMP(Apache、MySQL、PHP)环境搭建链接)

    学习PHP之前需要先搭建PHP运行的环境(即服务器+PHP+数据库)来使PHP成功运行,具体环境搭建教程可参考pharen(http://www.cnblogs.com/pharen/archive/ ...

  3. centos7 + Nginx+ HTTPS + uwsgi + python3.6 + Docker + Django1.11 + mysql 5.6 + virtualenv 环境搭建

    环境搭建: 系统: ​ centos7.2 x64 开发环境: ​ python3.6 ​ Django 1.11 虚拟环境: [Docker](https://www.runoob.com/dock ...

  4. 1.MongoDB 2.7主从复制(master &ndash;> slave)环境基于时间点的恢复

    (一)MongoDB恢复概述 对于任何类型的数据库,如果要将数据库恢复到过去的任意时间点,否需要有过去某个时间点的全备+全备之后的重做日志,MongoDB也不例外.使用全备将数据库恢复到固定时刻,然后 ...

  5. mysql 两主一从环境搭建(5.7.24)

    搭建说明 两主一从,从本质上说,只不过是机器 master-a 和 master-b 互为主从机(热备),然后通过 keepalived 进行高可用配置,使得在同一时间内只会有一台对外提供服务,实现单 ...

  6. Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建

    近期開始玩PHP,于是试着搭建一下开发环境并做个记录,以备日后再使用起来方便可查. 第一步 确保软件包是最新的 sudo apt-get update 第二步 安装Apache2 sudo apt-g ...

  7. CentOS6.5+nginx+mysql+php(laravel)服务器环境搭建

    公司准备迭代会员中心项目,要上laravel框架,替代以前的Ecshop框架,PHP工程师将部分功能页面代码提交,自己也准备着手搭建一个测试环境将项目跑起来: 一. 环境依赖安装设置 关闭防火墙 [r ...

  8. SpringMVC+Mybatis+Mysql实战项目学习--环境搭建

    1.开发IDE:Spring Tool Suite(自带maven插件) 下载地址https://spring.io/tools/sts/all 在STS.ini配置信息中加下面一行 保证编码格式为u ...

  9. LNMP(Linux+Nginx+Mysql+PHP---源码)环境搭建

    LNMP(Linux+Nginx+Mysql+PHP(Perl)) Linux:[root@dep5 mysql]# cat /etc/issueRed Hat Enterprise Linux Se ...

随机推荐

  1. springcloud19---springCloudConfig

    Spring-cloud-config : 统一管理配置的组件,不同的环境不同的管理(连接池.数据库配置不一样).不同时间需要动态调整配置(双十一最大连接数要大). 分布式配置也可以使用config或 ...

  2. 前端面试题之 sum(2)(3) (链式调用,toString,柯里化,数组操作)

    写一个函数让下面两个输出结果相同:console.log(sum(2)(3));console.log(sum(2,3)); var sum = (function() { var list = [] ...

  3. 20145211《网络对抗》逆向及BOF基础实践

    逆向及BOF基础实践——又是一年梅落时 一.实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. ...

  4. Django-ORM查询api

    models.py示例 class Book(models.Model): nid=models.AutoField(primary_key=True) title=models.CharField( ...

  5. jsoop_封装

    <script> //java.utils.ArrayList() //包(命名空间) /* var java = {}; java.utils = {}; java.utils.Arra ...

  6. POJ 2486 Apple Tree(树形dp)

    http://poj.org/problem?id=2486 题意: 有n个点,每个点有一个权值,从1出发,走k步,最多能获得多少权值.(每个点只能获得一次) 思路: 从1点开始,往下dfs,对于每个 ...

  7. python 获取进程执行的结果

    import subprocessp = subprocess.Popen([r'ls'],stdout=subprocess.PIPE) result = p.stdout.read()print( ...

  8. Tensorflow一些常用基本概念与函数(一)

    1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf. ...

  9. python运行错误---TabError: Inconsistent use of tabs and spaces in indentation

    本文转载于:http://blog.csdn.net/sinat_36384705/article/details/71155379 首先这个错误的意思是:在缩进的时候,使用了错误的空格和tab 我使 ...

  10. sqlplus中文问号

    添加两个环境变量后重启. 1.LANG=zh_CN.GBK(GBK是这样形式的,不同编码这里的value值需要跟着改变) 2.NLS_LANG=AMERICAN_AMERICA.ZHS16GBK(这个 ...