mysql双机热备实现
说明
机器A:(172.16.1.251),机器B:(172.16.1.252)
两台机器都创建数据库web:create database hello default charset utf8;
实现步骤
双向热备份:首先设置A上数据库为master,B上的备份数据库为slave;然后配置B上的数据库为master,A上数据库为slave
(1)修改 A和B上的 配置文件my.cnf,加入以下内容
- server-id=7 # 主ID,与从ID不能相同
- log-bin=mysql-0-bin #设定生成log文件名
- binlog-do-db=web #设置同步数据库名
- binlog-ignore-db=mysql #忽略同步mysql数据库
- replicate-do-db=web # 两处web是一致的
- replicate-ignore-db=mysql
- auto-increment-increment=10 # 插入id增长间隔
- auto-increment-offset=1 #从1开始增长
- server-id=17 # 主ID,与从ID不能相同
- log-bin=mysql-1-bin #设定生成log文件名
- binlog-do-db=web #设置同步数据库名
- binlog-ignore-db=mysql #忽略同步mysql数据库
- replicate-do-db=web # 两处web是一致的
- replicate-ignore-db=mysql
- auto-increment-increment=10 # 插入id增长间隔
- auto-increment-offset=2 #从2开始增长
(2)重启A和B上的mysql,两台机器上分别创建一个mysql用户用来同步
- CREATE USER 'usera'@'172.16.1.252' IDENTIFIED BY '123456'; //usera为账号,172.16.1.252表示账号只能从指定id也就是B机器访问,最后123456是密码,机器A上执行
- CREATE USER 'usera'@'172.16.1.251' IDENTIFIED BY '123456'; //机器B上执行
(3)设置用户权限
- grant replication slave,reload on *.* to 'usera'@'172.16.1.252' IDENTIFIED BY '123456'; // 机器A上执行
- grant replication slave,reload on *.* to 'usera'@'172.16.1.251' IDENTIFIED BY '123456'; // 机器B上执行
(4)设置A和B的主从联系,B和A的主从联系
//机器A上执行,A为slave
- mysql> change master to
- -> master_host = '172.16.1.252',
- -> master_port = 3306,
- -> master_user = 'usera',
- -> master_password = '123456';
//机器B上执行,B为slave
- mysql> change master to
- -> master_host = '172.16.1.251',
- -> master_port = 3306,
- -> master_user = 'usera',
- -> master_password = '123456';
因为是双向备份,所以配置中很多操作是重复的,只是主从顺序不一致,一个正向一个反向。
双向备份说明
- 主库必须启用Bin log,主库和从库必须有唯一的Server Id
- 从库必须清楚了解从主库的哪一个Bin log文件的哪一个偏移位置起开始复制
- 从库可以从主库只复制指定的数据库,或者数据库的某些数据表
- 主库和从库的数据库名称可以不一样,不过还是推荐使用一样的名称
- 主库和从库的MySQL版本需保持一致
从MySQL3.23.15以后,MySQL支持单向的异步复制。也就是说,1台MySQL服务器充当Master(主库),1台或多台MySQL服务器充当Slaves(从库),数据从Master向Slaves进行异步复制。注意,这种复制是异步的,有别于MySQL的同步复制实现(这种实现称做MySQL集群,MySQL
Cluster)。
当主库有更新的时候,主库会把更新操作的SQL写入二进制日志(Bin
log),并维护一个二进制日志文件的索引,以便于日志文件轮回(Rotate)。在从库启动异步复制的时候,从库会开启两个I/O线程,其中一个线程连接主库,要求主库把二进制日志的变化部分传给从库,并把传回的日志写入本地磁盘。另一个线程则负责读取本地写入的二进制日志,并在本地执行,以反映出这种变化。较老的版本在复制的时候只启用一个I/O线程,实现这两部分的功能。
mysql双机热备实现的更多相关文章
- mysql双机热备的实现
转:http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好 ...
- (转)mysql双机热备的实现
mysql双机热备的实现 原文:http://www.zjian.me/web/php/mysql%E5%8F%8C%E6%9C%BA%E7%83%AD%E5%A4%87%E7%9A%84%E5%AE ...
- Mysql双机热备--预备知识
1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说. 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务.当一台服务器 ...
- mysql 主从复制(mysql双机热备的实现)
转:http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好 ...
- MySQL双机热备环境搭建
一. 前期准备 准备两台服务器(电脑),接入到同一局域网中,能够使双方可以ping通: 安装MySQL数据库,具体安装方法网上很全面,但是安装的版本需保持一致: 服务器IP地址设置. l A服 ...
- CentOS系统MySQL双机热备配置
1 概述 在集成项目中需要应对不同环境下的安装配置,主流操作系统大致可以分为三种:Linux.Windows以及UNIX.其中Linux备受青睐的主要原因有两个: 首先,Linux作为自由软件有两个 ...
- windows下使用mysql双机热备功能
一. 准备工作 1. 准备两台服务器(电脑),接入局域网中,使互相ping得通对方 2. 两台服务器都安装mysql-server-5.1,必须保证mysql的版本一致 3. 假设,服务器A:192. ...
- mysql双机热备的配置步骤
设置双机热备: 首先要在两台机器上建立同步用户: grant replication slave on *.* to 'repdcs'@'192.168.21.39' identified by '1 ...
- Mysql双机热备配置(超详细多图版)
一.双击热备介绍 1.基本概念 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active- ...
- Centos7 Mysql 双机热备实现数据库高可用
mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器. 双机热备的条件是双机mysql版本必须一致. 服务器分 ...
随机推荐
- 为什么我们使用Nginx而不是Apache?
我们大多数的客户在他们的服务器上使用Apache作为Web服务器,尤其是部署在一个基于PHP系统的前端并且使用mod-PHP.鉴于扩张性和性能方面的原因,我们通常会建议他们改用Nginx和FPM. A ...
- pat1064. Complete Binary Search Tree (30)
1064. Complete Binary Search Tree (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHE ...
- C#获得字符串首字符字母(大写)
/// <summary> /// 获得字符串首字符字母(大写): /// </summary> /// <param name="cnChar"&g ...
- 12.Visual Studio 2013中的默认快捷键
这篇大致是IDE的使用技巧,常用的也就那么几个. 我自己用的最多的是注释.取消注释.格式调整.运行测试.开始调试.断开调试.重新开始调试.删除行ctrl+L.保存.全部保存.打开资源管理器.搜索等几个 ...
- JVM虚拟机 - 内存
在JVM虚拟机中,内存部分大致可以分为以下几类: Heap:堆 NonHeap:非堆 CodeCache:缓存编辑后的机器码的内存区域 CompressedClassSpace:类压缩空间 MetaS ...
- 《Head First 设计模式》之命令模式——遥控器
命令模式(Command) ——将“请求”封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象.命令模式也支持可撤销的操作. 要点 将发出请求的对象和执行请求的对象解耦. 被解耦的两者之间通过 ...
- pure响应式布局
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 【Java/Android性能优 7】Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类
本文转自:http://www.trinea.cn/android/android-common-lib/ 介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存.网络缓存).公共View( ...
- SQLserver2005描述对数据的调用
SQL Server2005 采用了下面的4部分结构 服务器名称.数据库名称.架构名称.数据对象名称
- display:table的几个用法(元素平分宽度,垂直居中)
DIV+CSS的布局已经让表格布局几乎很少用到,除非表格语义性很强的情况. display:table解决了一部分需要使用表格特性但又不需要表格语义的情况, 尤其是DIV+CSS很不方便解决的问题,比 ...