亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL備份與恢復之熱備份(3)

2024-07-24 13:07:49
字體:
來源:轉載
供稿:網友

熱備使用mysqldump命令進行備份,此工具是MySQL內置的備份和恢復工具,功能強大,它可以對整個庫進行備份,可以對多個庫進行備份,可以對單張表或者某幾張表進行備份,需要了解的朋友可以參考下

在上兩篇文章(MySQL備份與恢復之冷備,MySQL備份與恢復之真實環境使用冷備)中,我們提到了冷備和真實環境中使用冷備。那從這篇文章開始我們看下熱備。顯然熱備和冷備是兩個相對的概念,冷備是把數據庫服務,比如MySQL,Oracle停下來,然后使用拷貝、打包或者壓縮命令對數據目錄進行備份;那么我們很容易想到熱備就是在MySQL或者其他數據庫服務在運行的情況下進行備份。但是,這里存在一個問題,因為生產庫在運行的情況下,有對該庫的讀寫,讀寫頻率有可能高,也可能低,不管頻率高低,總會就會造成備份出來的數據和生產庫中的數據不一致的情況。熱備這段時間,其他人不可以操作是不現實的,因為你總不可能終止用戶訪問Web程序。要解決這個問題,可以采用指定備份策略,比如哪個時間段進行備份,備份哪些數據等等,總之,保證數據的完整性和一致性,切記,備份重于一切!!!

熱備可以對多個庫進行備份,可以對單張表或者某幾張表進行備份。但是無法同時備份多個庫多個表,只有分開備份。下面我們看下熱備的示意圖,并進行熱備模擬。

示意圖

MySQL備份與恢復之熱備份(3)

熱備模擬

1、對單個庫進行備份

第一步,移除LVM快照。(如果沒有創建,忽略此步)

 

 
  1. [root@serv01 data]# lvremove /dev/data/smydata  
  2. Do you really want to remove active logical volume smydata? [y/n]: y 
  3. Logical volume "smydata" successfully removed 

第二步,設置MySQL的密碼

 

 
  1. mysql> set password=password("123456"); 
  2. Query OK, 0 rows affected (0.00 sec) 

第三步,查看MySQL是否啟動。因為是熱備,所以要求MySQL服務啟動

 

 
  1. [root@serv01 data]# /etc/init.d/mysqld status 
  2. SUCCESS! MySQL running (2664) 

第四步,導出單個數據庫

 

 
  1. [root@serv01 data]# cd /databackup/ 
  2.  
  3. #本質是導出為SQL 
  4. [root@serv01 databackup]# mysqldump -uroot -p123456 --database larrydb 
  5. -- MySQL dump 10.13 Distrib 5.5.29, for Linux (x86_64) 
  6. -- 
  7. -- Host: localhost Database: larrydb 
  8. -- ------------------------------------------------------ 
  9. -- Server version 5.5.29-log 
  10.  
  11. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */
  12. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */
  13. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */
  14. /*!40101 SET NAMES utf8 */
  15. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */
  16. /*!40103 SET TIME_ZONE='+00:00' */
  17. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */
  18. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */
  19. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */
  20. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */
  21.  
  22. -- 
  23. -- Current Database: `larrydb` 
  24. -- 
  25.  
  26. CREATE DATABASE /*!32312 IF NOT EXISTS*/ `larrydb` /*!40100 DEFAULT CHARACTER SET latin1 */
  27.  
  28. USE `larrydb`; 
  29.  
  30. -- 
  31. -- Table structure for table `class
  32. -- 
  33.  
  34. DROP TABLE IF EXISTS `class`; 
  35. /*!40101 SET @saved_cs_client = @@character_set_client */
  36. /*!40101 SET character_set_client = utf8 */
  37. CREATE TABLE `class` ( 
  38. `cid` int(11) DEFAULT NULL, 
  39. `cname` varchar(30) DEFAULT NULL 
  40. ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 
  41. /*!40101 SET character_set_client = @saved_cs_client */
  42.  
  43. -- 
  44. -- Dumping data for table `class
  45. -- 
  46.  
  47. LOCK TABLES `class` WRITE; 
  48. /*!40000 ALTER TABLE `class` DISABLE KEYS */
  49. INSERT INTO `class` VALUES (1,'linux'),(2,'oracle'); 
  50. /*!40000 ALTER TABLE `class` ENABLE KEYS */
  51. UNLOCK TABLES; 
  52.  
  53. -- 
  54. -- Table structure for table `stu` 
  55. -- 
  56.  
  57. DROP TABLE IF EXISTS `stu`; 
  58. /*!40101 SET @saved_cs_client = @@character_set_client */
  59. /*!40101 SET character_set_client = utf8 */
  60. CREATE TABLE `stu` ( 
  61. `sid` int(11) DEFAULT NULL, 
  62. `sname` varchar(30) DEFAULT NULL, 
  63. `cid` int(11) DEFAULT NULL 
  64. ) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
  65. /*!40101 SET character_set_client = @saved_cs_client */
  66.  
  67. -- 
  68. -- Dumping data for table `stu` 
  69. -- 
  70.  
  71. LOCK TABLES `stu` WRITE; 
  72. /*!40000 ALTER TABLE `stu` DISABLE KEYS */
  73. INSERT INTO `stu` VALUES (1,'larry01',1),(2,'larry02',2); 
  74. /*!40000 ALTER TABLE `stu` ENABLE KEYS */
  75. UNLOCK TABLES; 
  76. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */
  77.  
  78. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */
  79. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */
  80. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */
  81. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */
  82. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */
  83. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */
  84. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */
  85.  
  86. Dump completed on 2013-09-10 18:56:06 
  87.  
  88. #將輸出結果保存到文件中 
  89. [root@serv01 databackup]# mysqldump -uroot -p123456 --database larrydb > larrydb.sql 

第五步,模擬數據丟失,進入MySQL,刪除數據庫

 

 
  1. [root@serv01 data]# mysql -uroot -p123456 
  2. Welcome to the MySQL monitor. Commands end with ; or /g. 
  3. Your MySQL connection id is 4 
  4. Server version: 5.5.29-log Source distribution 
  5.  
  6. Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 
  7.  
  8. Oracle is a registered trademark of Oracle Corporation and/or its 
  9. affiliates. Other names may be trademarks of their respective 
  10. owners. 
  11.  
  12. Type 'help;' or '/h' for help. Type '/c' to clear the current input statement. 
  13.  
  14. mysql> show databases; 
  15. +--------------------+ 
  16. | Database | 
  17. +--------------------+ 
  18. | information_schema | 
  19. | crm | 
  20. | game | 
  21. | hello | 
  22. | larrydb | 
  23. | mnt | 
  24. | mysql | 
  25. | performance_schema | 
  26. | test | 
  27. +--------------------+ 
  28. 9 rows in set (0.00 sec) 
  29.  
  30. mysql> drop database larrydb; 
  31. Query OK, 2 rows affected (0.01 sec) 
  32.  
  33. mysql> show databases; 
  34. +--------------------+ 
  35. | Database | 
  36. +--------------------+ 
  37. | information_schema | 
  38. | crm | 
  39. | game | 
  40. | hello | 
  41. | mnt | 
  42. | mysql | 
  43. | performance_schema | 
  44. | test | 
  45. +--------------------+ 
  46. 8 rows in set (0.00 sec) 
  47.  
  48. mysql> exit 
  49. Bye 

第六步,導入數據

 

 
  1. [root@serv01 databackup]# mysql -uroot -p123456 <larrydb.sql 

第七步,登錄MySQL,查看數據是否正常

 

 
  1. [root@serv01 data]# mysql -uroot -p123456 
  2. Welcome to the MySQL monitor. Commands end with ; or /g. 
  3. Your MySQL connection id is 6 
  4. Server version: 5.5.29-log Source distribution 
  5.  
  6. Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 
  7.  
  8. Oracle is a registered trademark of Oracle Corporation and/or its 
  9. affiliates. Other names may be trademarks of their respective 
  10. owners. 
  11.  
  12. Type 'help;' or '/h' for help. Type '/c' to clear the current input statement. 
  13.  
  14. mysql> show database; 
  15. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database' at line 1 
  16. mysql> show databases; 
  17. +--------------------+ 
  18. | Database | 
  19. +--------------------+ 
  20. | information_schema | 
  21. | crm | 
  22. | game | 
  23. | hello | 
  24. | larrydb | 
  25. | mnt | 
  26. | mysql | 
  27. | performance_schema | 
  28. | test | 
  29. +--------------------+ 
  30. 9 rows in set (0.00 sec) 
  31.  
  32. mysql> use larrydb; 
  33. Database changed 
  34. mysql> select * from class
  35. +------+--------+ 
  36. | cid | cname | 
  37. +------+--------+ 
  38. | 1 | linux | 
  39. | 2 | oracle | 
  40. +------+--------+ 
  41. 2 rows in set (0.00 sec) 
  42.  
  43. mysql> select * from stu; 
  44. +------+---------+------+ 
  45. | sid | sname | cid | 
  46. +------+---------+------+ 
  47. | 1 | larry01 | 1 | 
  48. | 2 | larry02 | 2 | 
  49. +------+---------+------+ 
  50. 2 rows in set (0.00 sec) 

對多個庫進行備份

第一步,查看有哪些數據庫

 

 
  1. mysql> show databases; 
  2. +--------------------+ 
  3. | Database | 
  4. +--------------------+ 
  5. | information_schema | 
  6. | crm | 
  7. | game | 
  8. | hello | 
  9. | larrydb | 
  10. | mnt | 
  11. | mysql | 
  12. | performance_schema | 
  13. | test | 
  14. +--------------------+ 
  15. 9 rows in set (0.00 sec) 
  16. mysql> use game; 
  17. Database changed 
  18. mysql> show tables; 
  19. +----------------+ 
  20. | Tables_in_game | 
  21. +----------------+ 
  22. | country | 
  23. | fight | 
  24. | hero | 
  25. +----------------+ 
  26. 3 rows in set (0.00 sec) 
  27.  
  28. mysql> select * from country; 
  29. +-----+---------+----------+ 
  30. | cno | cname | location | 
  31. +-----+---------+----------+ 
  32. | 10 | caowei | luoyang | 
  33. | 20 | shuhan | chengdou | 
  34. | 30 | sunwu | nanjing | 
  35. | 40 | houhan | luoyang | 
  36. | 50 | beisong | kaifeng | 
  37. | 60 | 魏國 | 洛陽 | 
  38. +-----+---------+----------+ 
  39. 6 rows in set (0.00 sec) 

第二步,備份多個庫

 

 
  1. [root@serv01 databackup]# mysqldump -uroot -p123456 --databases larrydb game > larrydb_game.sql 
  2. [root@serv01 databackup]# ll larrydb_game.sql  
  3. -rw-r--r--. 1 root root 6159 Sep 10 19:05 larrydb_game.sql 

第三步,模擬數據丟失。

 

 
  1. mysql> drop database game; 
  2. Query OK, 3 rows affected (0.01 sec) 
  3.  
  4. mysql> drop database larrydb; 
  5. Query OK, 2 rows affected (0.00 sec) 
  6. mysql> use crm; 
  7. Database changed 
  8. mysql> show tables; 
  9. +---------------+ 
  10. | Tables_in_crm | 
  11. +---------------+ 
  12. | test | 
  13. +---------------+ 
  14. 1 row in set (0.00 sec) 
  15.  
  16. mysql> select * from test; 
  17. Empty set (0.00 sec) 
  18.  
  19. mysql> drop database crm; 
  20. Query OK, 1 row affected (0.00 sec) 

第四步,恢復數據

 

 
  1. [root@serv01 databackup]# mysql -uroot -p123456 < larrydb_game.sql  

第五步,查看數據是否正常

 

 
  1. [root@serv01 data]# mysql -uroot -p123456 
  2. Welcome to the MySQL monitor. Commands end with ; or /g. 
  3. Your MySQL connection id is 9 
  4. Server version: 5.5.29-log Source distribution 
  5.  
  6. Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 
  7.  
  8. Oracle is a registered trademark of Oracle Corporation and/or its 
  9. affiliates. Other names may be trademarks of their respective 
  10. owners. 
  11.  
  12. Type 'help;' or '/h' for help. Type '/c' to clear the current input statement. 
  13.  
  14. mysql> show databases; 
  15. +--------------------+ 
  16. | Database | 
  17. +--------------------+ 
  18. | information_schema | 
  19. | game | 
  20. | hello | 
  21. | larrydb | 
  22. | mnt | 
  23. | mysql | 
  24. | performance_schema | 
  25. | test | 
  26. +--------------------+ 
  27. 8 rows in set (0.00 sec) 
  28.  
  29. mysql> use game; 
  30. Database changed 
  31. mysql> select * from country; 
  32. +-----+---------+----------+ 
  33. | cno | cname | location | 
  34. +-----+---------+----------+ 
  35. | 10 | caowei | luoyang | 
  36. | 20 | shuhan | chengdou | 
  37. | 30 | sunwu | nanjing | 
  38. | 40 | houhan | luoyang | 
  39. | 50 | beisong | kaifeng | 
  40. | 60 | 魏國 | 洛陽 | 
  41. +-----+---------+----------+ 
  42. 6 rows in set (0.00 sec) 
  43.  
  44. mysql> use larrydb; 
  45. Database changed 
  46. mysql> select * from class
  47. +------+--------+ 
  48. | cid | cname | 
  49. +------+--------+ 
  50. | 1 | linux | 
  51. | 2 | oracle | 
  52. +------+--------+ 
  53. 2 rows in set (0.00 sec) 

備份所有的庫

 

 
  1. [root@serv01 databackup]# mysqldump --help | grep all-database 
  2. OR mysqldump [OPTIONS] --all-databases [OPTIONS] 
  3. -A, --all-databases Dump all the databases. This will be same as --databases 
  4. --databases= or --all-databases), the logs will be 
  5. --all-databases or --databases is given. 
  6. all-databases FALSE 
  7.  
  8. [root@serv01 databackup]# mysqldump -uroot -p123456 --all-databases > all_databases.sql 
  9. [root@serv01 databackup]# ll all_databases.sql -h 
  10. -rw-r--r--. 1 root root 506K Sep 10 19:16 all_databases.sql 

備份某張表或者某幾張表 第一步,備份某張表和某幾張表

 

 
  1. [root@serv01 databackup]# mysqldump game hero country -uroot -p123456 > game_hero_country.sql 
  2. [root@serv01 databackup]# ll game_hero_country.sql  
  3. -rw-r--r—. 1 root root 3955 Sep 10 19:11 game_hero_country.sql 

第二步,模擬數據丟失

 

 
  1. mysql> use game; 
  2. Database changed 
  3. mysql> show tables; 
  4. +----------------+ 
  5. | Tables_in_game | 
  6. +----------------+ 
  7. | country | 
  8. | fight | 
  9. | hero | 
  10. +----------------+ 
  11. 3 rows in set (0.00 sec) 
  12.  
  13. mysql> drop table hero; 
  14. Query OK, 0 rows affected (0.00 sec) 
  15.  
  16. mysql> drop table country; 
  17. Query OK, 0 rows affected (0.00 sec) 

第三步,查看數據是否正常

 

 
  1. [root@serv01 databackup]# mysql -uroot -p123456 < game_hero_country.sql  
  2. ERROR 1046 (3D000) at line 22: No database selected 
  3. [root@serv01 databackup]# mysql -uroot -p123456 --database game < game_hero_country.sql  
  4.  
  5. [root@serv01 databackup]# mysql -uroot -p123456 -e "select * from game.country" 
  6. +-----+---------+----------+ 
  7. | cno | cname | location | 
  8. +-----+---------+----------+ 
  9. | 10 | caowei | luoyang | 
  10. | 20 | shuhan | chengdou | 
  11. | 30 | sunwu | nanjing | 
  12. | 40 | houhan | luoyang | 
  13. | 50 | beisong | kaifeng | 
  14. | 60 | 魏國 | 洛陽 | 
  15. +-----+---------+----------+ 

通過這兩天關于MySQL熱備和冷備的學習,大家是不是對MySQL備份與恢復的了解更加深入了,不管是冷備還是熱備其目的都是一致的保證數據的完整性和一致性,切記,備份重于一切!!!

相信今天所學的知識在之后的學習工作中對大家有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产成人91精品| 日韩精品在线观看网站| 久久久久久久国产| 欧美国产日韩xxxxx| 日本韩国欧美精品大片卡二| 一区二区欧美在线| 久久久久国产一区二区三区| 国产精品96久久久久久| 亚洲sss综合天堂久久| 91亚洲精品久久久久久久久久久久| 久久av红桃一区二区小说| 亚洲二区在线播放视频| 97av在线视频| 国产精品久久久久久搜索| 亚洲性av在线| 国产精品福利在线观看网址| 少妇精69xxtheporn| 久久精品国产一区二区电影| 亚洲电影天堂av| 97成人超碰免| 亚洲天堂男人的天堂| 久久久视频在线| 欧美大码xxxx| 日韩欧美精品免费在线| 亚洲最大成人网色| 国产xxx69麻豆国语对白| 97热精品视频官网| 色午夜这里只有精品| 欧美午夜视频在线观看| 精品调教chinesegay| 国产精品福利网| 国产精品扒开腿做爽爽爽男男| 久久久久久久999| 色婷婷av一区二区三区在线观看| 日韩视频免费大全中文字幕| 国产精品极品尤物在线观看| 日韩大片免费观看视频播放| 色伦专区97中文字幕| 中文字幕久久久| 秋霞成人午夜鲁丝一区二区三区| 51ⅴ精品国产91久久久久久| 日韩中文字幕免费视频| 成人免费大片黄在线播放| 国产亚洲欧洲高清一区| 2019亚洲男人天堂| 国产精品免费网站| 最近2019中文字幕第三页视频| 国产成人福利网站| 国产精品人人做人人爽| 91在线国产电影| 久久久久久久国产精品| xxav国产精品美女主播| 亚洲精品美女久久| 日韩av片电影专区| 国产精品久久久久久久久久尿| 欧美色图在线视频| 91极品视频在线| 国产精品com| 亚洲专区中文字幕| xxav国产精品美女主播| 国产精欧美一区二区三区| 欧美成人午夜免费视在线看片| 日韩中文字幕在线视频播放| 欧美日韩中文字幕日韩欧美| 日韩av在线不卡| 69av成年福利视频| 国产欧美日韩91| 精品人伦一区二区三区蜜桃网站| 午夜精品蜜臀一区二区三区免费| 国产精品爽爽爽爽爽爽在线观看| 国产国语videosex另类| 久久69精品久久久久久久电影好| 亚洲国产精品va在线看黑人| 日韩有码在线播放| 中文字幕国产精品久久| 久久久久久久成人| 色婷婷综合久久久久中文字幕1| 成人欧美一区二区三区黑人孕妇| 91亚洲国产成人久久精品网站| 日韩高清免费观看| 91po在线观看91精品国产性色| 国产精品福利在线观看网址| 国产精品午夜一区二区欲梦| 久久久成人精品| 亚洲免费人成在线视频观看| 久久久精品亚洲| 在线视频欧美日韩| 久久精品国产清自在天天线| 最新国产精品拍自在线播放| 三级精品视频久久久久| 国产精品爽爽ⅴa在线观看| 国产丝袜精品视频| 国内精品久久久久久久久| 欧美日韩国产区| 亚洲石原莉奈一区二区在线观看| 亚洲精选中文字幕| 在线看片第一页欧美| 欧美午夜美女看片| 国内自拍欧美激情| 2023亚洲男人天堂| 亚洲天堂成人在线视频| 日韩在线视频播放| 午夜精品久久久久久99热软件| 亚洲毛片在线观看.| 久久久久久久久国产精品| 国产精品久久久久久久久| 亚洲黄色www网站| 亚洲美女黄色片| 亚洲精品国产精品国自产在线| 97精品视频在线播放| 国产精品国内视频| 久久精品免费电影| 欧美大片免费观看在线观看网站推荐| 国产精品va在线播放我和闺蜜| 欧美成人精品在线播放| 亚洲欧美中文日韩在线| 欧美乱妇40p| 欧美激情亚洲一区| 97国产在线视频| 青青青国产精品一区二区| 日韩av三级在线观看| 5566成人精品视频免费| 久久精品成人一区二区三区| 欧美中文在线观看国产| 亚洲v日韩v综合v精品v| 久久99热精品这里久久精品| 久久精品一区中文字幕| 色琪琪综合男人的天堂aⅴ视频| 日韩在线视频一区| 午夜精品久久久99热福利| 午夜精品久久久久久久男人的天堂| 色综合五月天导航| 国产精品吴梦梦| 久久精品视频99| 国产精品综合不卡av| 日韩精品中文字幕久久臀| 日韩二区三区在线| 国产欧美婷婷中文| 欧美高清视频免费观看| 亚洲日韩中文字幕| 日韩精品极品毛片系列视频| 日韩精品在线影院| 成人免费视频在线观看超级碰| 一区二区三区视频在线| 中文字幕欧美国内| 伊人久久男人天堂| 国产精品视频免费在线| 粉嫩av一区二区三区免费野| 亚洲男人天堂2019| 亚洲综合自拍一区| 尤物yw午夜国产精品视频明星| 久久久久久亚洲精品| 伊是香蕉大人久久| 国产精品日韩在线播放| 一本色道久久88精品综合| 神马久久久久久| 成人免费在线视频网站| 亚洲欧洲国产伦综合| 国产91九色视频| 国产精品老牛影院在线观看| 中文字幕久久久av一区| 日韩成人中文字幕在线观看| 欧美午夜视频一区二区| 91久久嫩草影院一区二区|