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. 20145105 《Java程序设计》第1周学习总结

    20145105 <Java程序设计>第1周学习总结 教材学习内容总结 学习了教材的第一章后,我初步了解了Java的发展历程,以及什么是JCP,JSR,JVM.JCP是一个开放性国际组织, ...

  2. UVa 10375 选择与除法(唯一分解定理)

    https://vjudge.net/problem/UVA-10375 题意: 输入整数p,q,r,s,计算C(p,q)/C(r,s). 思路: 先打个素数表,然后用一个数组e来保存每个素数所对应的 ...

  3. UVa 10917 林中漫步

    https://vjudge.net/problem/UVA-10917 题意: 给出一个图,求出从1走到2共有多少种走法.前提是他只沿着满足如下条件的道路(A,B)走:存在一条从B出发回家的路径,比 ...

  4. __autoload自动加载类

    在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利.这也是OO设计的基本思想之一.在PHP5之前,如果需要使用 ...

  5. JS localStorage 存储变量

    if(!window.localStorage && /MSIE/.test(navigator.userAgent)){ if(!window.UserData) { window. ...

  6. 微信小程序登录,获取code,获取openid,获取session_key

    微信小程序登录 wx.login(Object object) 调用接口获取登录凭证(code).通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session ...

  7. 解决本地项目推送到码云(github),上提示:failed to push some refs to ...

    本地项目上传github 命令如下: 1.git init 2.git add . 3.git commit  -m "init" 4.git remote add origin ...

  8. 【Python】使用codecs模块进行文件操作及消除文件中的BOM

    前言 此前遇到过UTF8格式的文件有无BOM的导致的问题,最近在做自动化测试,读写配置文件时又遇到类似的问题,和此前一样,又是折腾了挺久之后,通过工具比较才知道原因. 两次在一个问题上面栽更头,就在想 ...

  9. thinkphp3.2笔记(5)创建项目 创建模型 实例化

    一 创建项目 1 拷贝框架 目录   public   thinkphp  .htaccess  index.php    [application不用拷贝,会自动生成] 2   public 下面创 ...

  10. 远程使用tomcat8的首页的管理工具

    1.在%Tomcat_Home%/conf/Catalina/localhost中新建manager.xml,内容如下 <Context privileged="true" ...