1、MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份。

2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。

MySQL的双机热备份是基于MySQL内部复制功能,建立在两台或者多台以上的服务器之间,通过它们之间的主从关系,是插入主数据库的数据同时也插入到从数据库上,这实现了动态备份当前数据库的功能。下面细说一下主从热备份的步骤:

假设主服务器A(master)、从服务器为B(slave)

A:192.168.0.104

B:192.168.0.169

1.主服务器授权授权副服务器可以连接主服务器并可以进行更新。这是在主服务器上进行的,创建一个username和password供副服务器访问时使用。在MySQL命令行下输入mysql> GRANT REPLICATION SLAVE ON *.* TO backup@‘192.168.0.169’IDENTIFIED BY ‘123456’; 这里创建了一个帐号backup用于slave访问master来更新slave数据库。2.数据复制将master上已有的数据复制到slave上,以便主从数据库建立的时候两个数据库的数据保持一致。

在master上导出数据 mysql> FLUSH TABLES WITH READ LOCK; D:/Develop/MySQL/bin> mysqldump –u root -p cartrader > d:/cartrader.sql

mysql> UNLOCK TABLES 在slave上导入数据mysql>use cartrader

mysql>source d:/cartrader.sql 另外也可以使用LOAD DATA FROM MASTER语句将主服务器的数据传输到副服务器,但使用上有些限制。注意:在执行数据复制的过程中,要确保不能对主服务器执行更新操作。不推荐使用!3. 配置主服务器修改master上mysql的根目录下的my.ini配置文件,在选项配置文件中赋予主服务器一个server-id,该id必须是1到2^23-1范围内的唯一值。主服务器和副服务器的server-id不能相同。另外,还需要配置主服务器,使之启用二进制日志,即在选项配置文件中添加log-bin启动选项。

[mysqld]

server-id=1 #唯一值,并不能与副服务器相同

log-bin = bin_log #日志文件以binary_log为前缀,如果不给log-bin赋值,日志文件将以#master-server-hostname为前缀

binlog-ignore-db= mysql,test,information_schema #日志文件跳过的数据库(可选属性 )

binlog-do-db= cartrader #日志文件操作的数据库(可选属性 ,默认所有数据库的相关操作都写入二进制日志文件)

注意:如果主服务器的二进制日志已经启用,关闭并重新启动之前应该对以前的二进制日志进行备份。重新启动后,应使用RESET MASTER语句清空以前的日志。

原因:master上对数据库cartrader的一切操作都记录在日志文件中,然后会把日志发给slave,slave接收到master传来的日志文件之后就会执行相应的操作,使slave中的数据库做和master数据库相同的操作。所以为了保持数据的一致性,必须保证日志文件没有脏数据。4.重启master配置好以上选项后,重启MySQL服务,新选项将生效。现在,所有对数据库中信息的更新操作将被写进日志中。5.配置slave在副服务器上的MySQL选项配置文件中添加以下参数。

[mysqld]

server-id=2 #唯一并与主服务器上的server-id不同。

master-host= 192.168.0.104 #主服务器的主机名或者ip地址

master-port=3306

master-user=root

master-password=123456

#复制操作要针对的数据库(可选,默认为全部)

replicate-do-db=cartrader

#如果主副服务器间连接经常失败,需增加master-retry-count和master-connect-retry

#master-retry-count #连接重试的次数

#master-connect-retry #连接失败后等待的秒数

master-retry-count = 999

master-connect-retry = 606. 重启slave副服务器上MySQL服务重启后,还在数据目录中创建一个master.info文件,其中包含所有有关复制过程的信息(连接主服务器的相关信息及与主服务器交换数据的相关信息)。在初次启动以后,副服务器将检查这个master.info文件,以得到相关信息。

如果想修改复制选项,删除master.info并重启MySQL服务,在启动过程中使用选项配置文件中的新选项进行重新创建了master.info文件。

将主服务器上备份好的数据库脚本文件(cartrader.sql)导入到副服务器数据库中,以便保证主-副服务器上进行复制操作的起点一样。7. 查看mastermysql>show master status #查看master的状态与设置的是否一致(在master上)8.查看slave一般重启了slave之后,自动就会开启复制功能,可以通过下面的语句查看

mysql>show slave status #在slave上

如果显示waiting for master to send event 的话就表示已经启动了,反之就运行

mysql>start slave #启动slave

在SHOW SLAVE STATUS的命令输出后,应该包含Slave_IO_Running对应的值为YES,Slave_SQL_Running对应的值为YES,如下图所示,只有这样才保证主从机能正常备份。

mysql>stop slave #暂时停止主从热备份

注:以上的配置方式只能实现A->B,即数据由A(master)转移到B(slave),不能由B转移到A,这样的话对B做的任何操作就不会被同步到数据库A中。当然也可以通过把A设置成slave和master,把B设置成slave和master从而实现对A或者B的任何改动都会影响到另外一方。配置同上,在此不在论述。

============================================================================

1. 如果 binlog 已经产生,可以通过 SQL 命令行清除:

/*

* 要清理日志,需按照以下步骤:

* 1 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。

* 2 使用SHOW MASTER LOGS获得主服务器上的一系列日志。

* 3 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。

* 4 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)

* 5 清理所有的日志,但是不包括目标日志。

*/

# 必须拥有RELOAD权限,此 命令将删除列于索引文件中的所有binlog,把 binlog 索引文件重新设置为空,并创建一个新的 binlog (在以前版本中,被称为FLUSH MASTER)

RESET MASTER;

#清除指定的 binlog PURGE MASTER LOGS TO 'mysql-bin.010';

# 清除指定日期之前的binlog,BEFORE变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式 PURGE MASTER LOGS BEFORE '2006-06-06 06:06:06';

# 清除3天前的 binlog PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);

mysql热备份使用方案_MySQL双机热备份实施方案相关推荐

  1. mysql冷热备份方案_MySQL双机热备份实施方案

    MySQL双机热备份实施方案 1.MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数 ...

  2. 计算机控制pud,控制系统状态空间实施方案计算机控制技术课程实施方案

    <控制系统状态空间实施方案计算机控制技术课程实施方案>由会员分享,可在线阅读,更多相关<控制系统状态空间实施方案计算机控制技术课程实施方案(12页珍藏版)>请在人人文库网上搜索 ...

  3. mysql 双向热备份_MySQL双机热备份

    系统: CentOS release 6.6 (Final) MySQL: mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) ...

  4. 教师计算机技能培训方案,教师信息技术培训实施方案.doc

    教师信息技术培训实施方案 三门峡市育才中学教师信息技术应用能力提升培训实施方案?为贯彻落实教育局文件精神,大力加强我校教师队伍建设,进一步提升我校教师的信息技术应用能力及水平,本着强化实践性培训,实行 ...

  5. 计算机专业培训实施方案,学校信息化培训实施方案

    <学校信息化培训实施方案>由会员分享,可在线阅读,更多相关<学校信息化培训实施方案(5页珍藏版)>请在人人文库网上搜索. 1.学校信息化培训实施方案2017-2018学年度为促 ...

  6. 计算机动漫课程建设方案,动漫课程实施方案范文

    动漫课程实施方案范文 一. 指导思想 目前,动漫产业作为文化创意产业的重要组成部分,已经成为国民经济发展的新增长点.动漫制作对培养学生的创新意识.动手能力具有重要作用,动漫产品主要受众群是青少年,而我 ...

  7. 计算机基础考核方案,计算机应用基础考核实施方案

    <计算机应用基础考核实施方案>由会员分享,可在线阅读,更多相关<计算机应用基础考核实施方案(3页珍藏版)>请在人人文库网上搜索. 1.计算机应用基础考核实施方案以培养学生学习计 ...

  8. mysql lvs 读写分离_mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)

    mysql主从复制与lvs+keepalived实现负载高可用 目录 1.前言    4 2.原理    4 2.1.概要介绍    4 2.2.工作原理    4 2.3.实际作用    4 3方案 ...

  9. mysql数据库备份方案_MySQL平台数据库备份方案详细说明

    在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.有时,正是MySQL管理员造成破坏.管理员已经知道表已破坏,用 ...

  10. mysql binlog过期策略_MySQL binlog日志优化方案

    Binlog 相关参数及优化策略 我们首先看看Binlog 的相关参数,通过执行如下命令可以获得关于Binlog 的相关参数.当然,其中也显示出了" innodb_locks_unsafe_ ...

最新文章

  1. C++ 模板:template
  2. python中文开发环境_Eclipse搭建Python开发环境+Python中文处理
  3. 数据结构与算法之“之”字型打印矩阵和矩阵中找数
  4. scala集合中添加元素_如何在Scala中将元素添加到列表中?
  5. CV Code | 计算机视觉开源周报 20190602期
  6. 程序读取计算机设备管理器中各设备的状态(启用/禁用)?(转自大富翁)
  7. Awaken for Mac闹钟定时器
  8. python关闭word_python自动化办公:玩转word之样式秘笈
  9. 基于图的广度优先搜索策略(耿7.11)
  10. 炒鸡酷,IT互联网程序员就业新前景:看极客是怎么靠两个披萨影响世界
  11. bzoj1208: [HNOI2004]宠物收养所 SBTSplay
  12. 交易履约之结算平台实践
  13. [DP/二进制] 数字组合 HUSTOJ2843
  14. 修改Docker容器端口
  15. py socket5 代理
  16. 兀键和6键怎么判断_你们不会的大π键(高三党,基础较好)
  17. 爬虫-6-selenium和phantomJSheadless
  18. 简单舒服新UI装逼制作神器微信小程序源码下载支持多种流量主
  19. 2019新年Flag
  20. 树莓派(Linux)安装nat123

热门文章

  1. hspice标识符语法
  2. 如何读取 PEM 文件以获取公钥和私钥
  3. 北京航天大学考研计算机科学与技术分数线,北京航空航天大学计算机科学与技术考研...
  4. 飞鸟尽,良弓藏;狡兔死,走狗烹。
  5. 蓝桥杯题库及答案python版_蓝桥杯试题库的历届真题版.doc
  6. FFmpeg系列-2-命令行工具之FFmpeg
  7. 算法入门到进阶(一)——算法复杂度
  8. 输入输出工具技术(ITTO)要背吗?——软考高项笔记8
  9. Redis 多线程网络模型全面揭秘
  10. python画图的函数_Python绘图实用函数