Welcome 微信登录

首页 / 数据库 / MySQL / MySQL备份与恢复之热备

一 热备

在上两篇文章(MySQL备份与恢复之冷备,MySQL备份与恢复之真实环境使用冷备)中,我们提到了冷备和真实环境中使用冷备。那从这篇文章开始我们看下热备。显然热备和冷备是两个相对的概念,冷备是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝、打包或者压缩命令对数据目录进行备份;那么我们很容易想到热备就是在MySQL或者其他数据库服务在运行的情况下进行备份。但是,这里存在一个问题,因为生产库在运行的情况下,有对该库的读写,读写频率有可能高,也可能低,不管频率高低,总会就会造成备份出来的数据和生产库中的数据不一致的情况。热备这段时间,其他人不可以操作是不现实的,因为你总不可能终止用户访问Web程序。要解决这个问题,可以采用指定备份策略,比如哪个时间段进行备份,备份哪些数据等等,总之,保证数据的完整性和一致性,切记,备份重于一切!!! 热备采用的是使用mysqldump命令进行备份,此工具是MySQL内置的备份和恢复工具,功能强大,它可以对整个库进行备份,可以对多个库进行备份,可以对单张表或者某几张表进行备份。但是无法同时备份多个库多个表,只有分开备份。下面我们看下热备的示意图,并进行热备模拟。 

二 示意图

三 热备模拟

  

对单个库进行备份

 第一步,移除LVM快照。(如果没有创建,忽略此步)
[root@serv01 data]# lvremove /dev/data/smydata Do you really want to remove active logical volume smydata? [y/n]: yLogical volume "smydata" successfully removed
 第二步,设置MySQL的密码
mysql> set password=password("123456");Query OK, 0 rows affected (0.00 sec)
 第三步,查看MySQL是否启动。因为是热备,所以要求MySQL服务启动
[root@serv01 data]# /etc/init.d/mysqld status SUCCESS! MySQL running (2664)
 第四步,导出单个数据库
[root@serv01 data]# cd /databackup/#本质是导出为SQL[root@serv01 databackup]# mysqldump -uroot -p123456 --database larrydb-- MySQL dump 10.13Distrib 5.5.29, for Linux (x86_64)---- Host: localhostDatabase: larrydb-- -------------------------------------------------------- Server version 5.5.29-log/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8 */;/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;/*!40103 SET TIME_ZONE="+00:00" */;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE="NO_AUTO_VALUE_ON_ZERO" */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;---- Current Database: `larrydb`--CREATE DATABASE /*!32312 IF NOT EXISTS*/ `larrydb` /*!40100 DEFAULT CHARACTER SET latin1 */;USE `larrydb`;---- Table structure for table `class`--DROP TABLE IF EXISTS `class`;/*!40101 SET @saved_cs_client = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `class` (`cid` int(11) DEFAULT NULL,`cname` varchar(30) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin1;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `class`--LOCK TABLES `class` WRITE;/*!40000 ALTER TABLE `class` DISABLE KEYS */;INSERT INTO `class` VALUES (1,"linux"),(2,"oracle");/*!40000 ALTER TABLE `class` ENABLE KEYS */;UNLOCK TABLES;---- Table structure for table `stu`--DROP TABLE IF EXISTS `stu`;/*!40101 SET @saved_cs_client = @@character_set_client */;/*!40101 SET character_set_client = utf8 */;CREATE TABLE `stu` (`sid` int(11) DEFAULT NULL,`sname` varchar(30) DEFAULT NULL,`cid` int(11) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;/*!40101 SET character_set_client = @saved_cs_client */;---- Dumping data for table `stu`--LOCK TABLES `stu` WRITE;/*!40000 ALTER TABLE `stu` DISABLE KEYS */;INSERT INTO `stu` VALUES (1,"larry01",1),(2,"larry02",2);/*!40000 ALTER TABLE `stu` ENABLE KEYS */;UNLOCK TABLES;/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;Dump completed on 2013-09-10 18:56:06#将输出结果保存到文件中[root@serv01 databackup]# mysqldump -uroot -p123456 --database larrydb > larrydb.sql
 更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2013-11/93166p2.htm相关阅读:MySQL备份和恢复具体实施 http://www.linuxidc.com/Linux/2012-12/76257.htmMySQL备份:mylvmbackup介绍与使用 http://www.linuxidc.com/Linux/2013-11/92423.htmLinux下通过mysqldump备份MySQL数据库成sql文件 http://www.linuxidc.com/Linux/2013-02/79793.htmLinux中使用mysqldump对MySQL数据库进行定时备份 http://www.linuxidc.com/Linux/2012-03/56063.htm磁盘管理——LVM http://www.linuxidc.com/Linux/2013-11/93165.htm 
  • 1
  • 2
  • 下一页
MySQL备份与恢复之真实环境使用冷备MySQL备份与恢复之热拷贝相关资讯      mysql备份与恢复  MySQL热备 
  • MySQL管理之使用XtraBackup进行热  (04/07/2014 10:02:36)
  • MySQL备份与恢复之percona-  (12/01/2013 20:10:57)
  • MySQL备份与恢复之热拷贝  (11/26/2013 06:38:36)
  • MySQL备份与恢复之percona-  (12/01/2013 20:16:43)
  • MySQL备份与恢复之保证数据一致性  (11/26/2013 06:41:02)
  • MySQL备份与恢复之真实环境使用冷  (11/26/2013 06:17:25)
本文评论 查看全部评论 (0)
表情: 姓名: 字数