mysql master master slave 环境搭建

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 [email protected]‘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 [email protected]:/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 [email protected]‘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 [email protected]:/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;

时间: 2024-10-12 09:26:10

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

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

最近开始玩PHP,于是试着搭建一下开发环境并做个记录,以备日后再使用起来方便可查. 第一步 确保软件包是最新的 <span style="font-size: 18px;">sudo apt-get update</span> 第二步 安装Apache2 <span style="font-size: 18px;">sudo apt-get install apache2</span> 安装之后测试:在浏览器中打开 h

MySQL MHA高可用环境搭建

一.安装MHA基本环境 1. 安装MHA node (1) 基本环境说明,本文参考互联网文章学习,搭建MHA与测试如下. 参考文档:http://www.cnblogs.com/xuanzhi201111/p/4231412.html 角色                IP地址            主机名    =============================================    Master              192.168.1.121     node

linux centos下mysql数据库的主从复制环境搭建

有两台MySQL数据库服务器Master和slave,Master为主服务器,slave为从服务器,初始状态时,Master和slave中的数据信息相同,当Master中的数据发生变化时,slave也跟着发生相应的变化,使得master和slave的数据信息同步,达到备份的目的. 原理图如下: 简单来说,mysql的主从复制的原理就是slave把master上面执行的 update,insert这些会使数据发生改变的sql语句从master上面同步过来,然后在自己的机器上再执行一遍,那么这两台数

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

学习PHP之前需要先搭建PHP运行的环境(即服务器+PHP+数据库)来使PHP成功运行,具体环境搭建教程可参考pharen(http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html)的教程(亲测可用),教程中一些资源链接可能已经失效,下面给出部分资源链接:PHP资源:http://windows.php.net/download#php-5.6 Apache(msi安装包)资源:http://archive.apache.org/

CentOS6.5环境下Python + Django + MySQL + eclipse开发web环境搭建的简单方法

这几天跟Linux下的Python + Django环境搭建卯上了.经过几天的琢磨,找到了一条自己认为给力的路径. 这里给出命令行,过程如下: 首次登陆,切换管理员: [[email protected] ~]$ suPassword: 查看当前的版本:[[email protected] web]# pythonPython 2.6.6 (r266:84292, Nov 22 2013, 12:11:10) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on l

SpringMVC+Mybatis+Mysql实战项目学习--环境搭建【转】

1.开发IDE:Spring Tool Suite(自带maven插件) 保证编码格式为utf-8 -Dfile.encoding=UTF-8 2.jdk:java 1.8 下载地址http://www.oracle.com/tech 1.开发IDE:Spring Tool Suite(自带maven插件) 下载地址https://spring.io/tools/sts/all 在STS.ini配置信息中加下面一行 保证编码格式为utf-8 -Dfile.encoding=UTF-8 2.jdk

PHP环境搭建:Windows7系统配置PHP+Apache+MySQL环境教程

Win7系统下PHP.Apache.MySQL的环境搭建,是许多PHP初学者.甚至是有多年开发经验的PHP程序员都无法避免的一个环节.网络上关于WAMP环境配置的文章也不少,不过很多存在版本较老,或者解释不够清晰的问题. 最近将公司电脑的Win7版本从32位升级到64位,全盘清理,需要重新配置环境,借此机会,将Win7下搭建PHP.Apache.MySQL环境的具体方法分享给锐想网的各位同学.本文对32位和64位win7系统都可用. 先列出本文使用的各种软件的版本: Apache 2.2.21

PHP开发环境(Apache+mysql+PHPstorm+php)的搭建 1

一.搭建思路 从浏览器到web服务器(Apache)到PHP环境到mysql数据库 二.环境搭建 1.浏览器(略) 2.Apache 1)官方下载地址:https://httpd.apache.org/docs/current/platform/windows.html 2)修改apache主配置文件(httpd.conf)中的“SVRROOT”为apache的实际目录(行数大致相同) 3)管理员模式下运行cmd(或powershell),并在其中运行apache/bin下的命令 httpd.e

JEECG-P3开发专题 - 开发环境搭建入门

官方标准开发工具: 1 .IDE Eclipse Java EE IDE for Web Developers. Version: Mars.2 Release (4.5.2) Build id: 20160218-06002.JDK1.7 2. Tomcat7 3. Maven项目构建 4. Mysql 5. 执行Mysql脚本 首先创建Mysql数据库jeecg-p3,采用UTF-8编码,执行对应插件的数据库脚本 脚本位置: {插件项目名}\doc\db\{插件项目名}-mysql.sql