MySQL備份與恢複之熱備

來源:互聯網
上載者:User

一 熱備

在上兩篇文章(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]: y  Logical 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.13  Distrib 5.5.29, for Linux (x86_64)---- Host: localhost    Database: 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

 

更多詳情見請繼續閱讀下一頁的精彩內容:

MySQL備份和恢複具體實施

MySQL備份:mylvmbackup介紹與使用

Linux下通過mysqldump備份MySQL資料庫成sql檔案

Linux中使用mysqldump對MySQL資料庫進行定時備份

磁碟管理——LVM  

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.