国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL備份與恢復(fù)之真實環(huán)境使用冷備份(2)

2024-07-24 13:07:49
字體:
供稿:網(wǎng)友

這篇文章主要介紹了MySQL備份與恢復(fù)之真實環(huán)境使用冷備,需要的朋友可以參考下

在上一篇文章(MySQL備份與恢復(fù)之冷備)中,我們提到了冷備。但是有個問題,我們存儲的數(shù)據(jù)文件是保存在當(dāng)前本地磁盤的,如果這個磁盤掛掉,那我們存儲的數(shù)據(jù)不就丟失了,這樣備份數(shù)據(jù)不就功虧一簣,勞而無功。所以真實環(huán)境中我們多準(zhǔn)備幾塊磁盤,然后再在這些磁盤上搭建LVM,把MySQL的數(shù)據(jù)目錄掛載到LVM上,這樣數(shù)據(jù)就不是存儲在當(dāng)前磁盤上,就可以保證數(shù)據(jù)的安全性。

示意圖

MySQL備份與恢復(fù)之真實環(huán)境使用冷備份(2)

真實環(huán)境使用冷備模擬

第一步,需要提前規(guī)劃好磁盤,這里做模擬,添加兩磁盤

第二步,對磁盤進行分區(qū)

 

 
  1. [root@serv01 ~]# fdisk /dev/sdb 
  2. [root@serv01 ~]# fdisk /dev/sdc 
  3.  
  4. [root@serv01 ~]# ll /dev/sd[bc]1 
  5. brw-rw----. 1 root disk 8, 17 Sep 10 18:06 /dev/sdb1 
  6. brw-rw----. 1 root disk 8, 33 Sep 10 18:09 /dev/sdc1 

第三步,yum安裝lvm2

 

 
  1. [root@serv01 ~]# yum install lvm2 -y 

第四步,創(chuàng)建物理卷

 

 
  1. [root@serv01 ~]# pvcreate /dev/sdb1 /dev/sdc1  
  2. Physical volume "/dev/sdb1" successfully created 
  3. Physical volume "/dev/sdc1" successfully created 

第五步,創(chuàng)建卷組

 

 
  1. [root@serv01 ~]# vgcreate data /dev/sdb1 /dev/sdc1  
  2. Volume group "data" successfully created 

第六步,創(chuàng)建邏輯卷

 

  
  1. [root@serv01 ~]# lvcreate -L 2G -n mydata data 
  2. Logical volume "mydata" created 

第七步,格式化磁盤

 

 
  1. [root@serv01 ~]# mkfs.ext4 /dev/data/mydata  
  2. mke2fs 1.41.12 (17-May-2010) 
  3. Filesystem label= 
  4. OS type: Linux 
  5. Block size=4096 (log=2) 
  6. Fragment size=4096 (log=2) 
  7. Stride=0 blocks, Stripe width=0 blocks 
  8. 131072 inodes, 524288 blocks 
  9. 26214 blocks (5.00%) reserved for the super user 
  10. First data block=0 
  11. Maximum filesystem blocks=536870912 
  12. 16 block groups 
  13. 32768 blocks per group, 32768 fragments per group 
  14. 8192 inodes per group 
  15. Superblock backups stored on blocks:  
  16. 32768, 98304, 163840, 229376, 294912 
  17.  
  18. Writing inode tables: done  
  19. Creating journal (16384 blocks): done 
  20. Writing superblocks and filesystem accounting information: done 
  21.  
  22. This filesystem will be automatically checked every 28 mounts or 
  23. 180 days, whichever comes first. Use tune2fs -c or -i to override. 

第八步,冷備

 

 
  1. [root@serv01 ~]# ls /usr/local/mysql/data/ 
  2. crm ib_logfile0 mysql-bin.000001 mysql-bin.000005 mysql-bin.000009 mysql-bin.000013 mysql-bin.index test 
  3. game ib_logfile1 mysql-bin.000002 mysql-bin.000006 mysql-bin.000010 mysql-bin.000014 performance_schema 
  4. hello larrydb mysql-bin.000003 mysql-bin.000007 mysql-bin.000011 mysql-bin.000015 serv01.host.com.err 
  5. ibdata1 mysql mysql-bin.000004 mysql-bin.000008 mysql-bin.000012 mysql-bin.000016 serv01.host.com.pid 
  6.  
  7. [root@serv01 opt]# tar -cvPzf mysql01.tar.gz /usr/local/mysql/data/ 

第九步,刪除數(shù)據(jù)庫文件

 

 
  1. [root@serv01 ~]# rm -rf /usr/local/mysql/data/* 

第十步,掛載

 

 
  1. [root@serv01 ~]# mount /dev/data/mydata /usr/local/mysql/data/ 
  2. [root@serv01 ~]# df -h 
  3. Filesystem Size Used Avail Use% Mounted on 
  4. /dev/sda2 9.7G 2.4G 6.8G 27% / 
  5. tmpfs 188M 0 188M 0% /dev/shm 
  6. /dev/sda1 194M 25M 160M 14% /boot 
  7. /dev/sda5 4.0G 160M 3.7G 5% /opt 
  8. /dev/sr0 3.4G 3.4G 0 100% /iso 
  9. /dev/mapper/data-mydata 
  10. 2.0G 67M 1.9G 4% /usr/local/mysql/data 

第十一步,將掛載信息寫入配置文件

 

 
  1. [root@serv01 opt]# echo "/dev/mapper/data-mydata /usr/local/mysql/data ext4 defaults 1 2" >> /etc/fstab  
  2. [root@serv01 opt]# tail -n1 /etc/fstab  
  3. /dev/mapper/data-mydata /usr/local/mysql/data ext4 defaults 1 2 

第十二步,停掉數(shù)據(jù)庫

 

 
  1. [root@serv01 ~]# /etc/init.d/mysqld stop 
  2. ERROR! MySQL server PID file could not be found! 
  3. [root@serv01 ~]# ps -ef | grep mysqld 
  4. root 1055 1 0 18:05 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/serv01.host.com.pid 
  5. mysql 1332 1055 0 18:05 ? 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/serv01.host.com.err --pid-file=/usr/local/mysql/data/serv01.host.com.pid --socket=/tmp/mysql.sock --port=3306 
  6. root 1885 1490 0 18:18 pts/0 00:00:00 grep mysqld 
  7.  
  8. [root@serv01 ~]# pkill -9 mysql 
  9. [root@serv01 ~]# ps -ef | grep mysqld 
  10. root 1888 1490 0 18:18 pts/0 00:00:00 grep mysqld 
  11. [root@serv01 ~]# chown mysql.mysql /usr/local/mysql/data/ -R 
  12.  
  13. [root@serv01 opt]# ll /usr/local/mysql/data/ 
  14. total 0 
  15. [root@serv01 opt]# ll /usr/local/mysql/data/ -d 
  16. drwxr-xr-x. 2 mysql mysql 4096 Sep 10 18:17 /usr/local/mysql/data/ 

第十三步,恢復(fù)數(shù)據(jù)

 

 
  1. [root@serv01 opt]# tar -xPvf mysql01.tar.gz  

第十四步,啟動數(shù)據(jù)庫,登錄MySQL,然后查看數(shù)據(jù)是否丟失

 

 
  1. [root@serv01 opt]# /etc/init.d/mysqld start 
  2. Starting MySQL SUCCESS!  
  3.  
  4. [root@serv01 ~]# mysql 
  5. Welcome to the MySQL monitor. Commands end with ; or /g. 
  6. Your MySQL connection id is 1 
  7. Server version: 5.5.29-log Source distribution 
  8.  
  9. Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 
  10.  
  11. Oracle is a registered trademark of Oracle Corporation and/or its 
  12. affiliates. Other names may be trademarks of their respective 
  13. owners. 
  14.  
  15. Type 'help;' or '/h' for help. Type '/c' to clear the current input statement. 
  16.  
  17. mysql> use larrydb; 
  18. Database changed 
  19. mysql> show tables; 
  20. +-------------------+ 
  21. | Tables_in_larrydb | 
  22. +-------------------+ 
  23. class | 
  24. | stu | 
  25. +-------------------+ 
  26. 2 rows in set (0.00 sec) 
  27.  
  28. mysql> select * from class
  29. +------+--------+ 
  30. | cid | cname | 
  31. +------+--------+ 
  32. | 1 | linux | 
  33. | 2 | oracle | 
  34. +------+--------+ 
  35. 2 rows in set (0.01 sec) 
  36.  
  37. mysql> select * from stu; 
  38. +------+---------+------+ 
  39. | sid | sname | cid | 
  40. +------+---------+------+ 
  41. | 1 | larry01 | 1 | 
  42. | 2 | larry02 | 2 | 
  43. +------+---------+------+ 
  44. 2 rows in set (0.00 sec) 

第十五步,使用LVS的快照功能創(chuàng)建快照,快照不需要格式化。

 

 
  1. [root@serv01 opt]# lvcreate -L 100M -s -n smydata /dev/data/mydata  
  2. Logical volume "smydata" created 

第十六步,掛載

 

 
  1. [root@serv01 opt]# mount /dev/data/smydata /mnt 
  2. [root@serv01 opt]# df -h 
  3. Filesystem Size Used Avail Use% Mounted on 
  4. /dev/sda2 9.7G 2.4G 6.8G 27% / 
  5. tmpfs 188M 0 188M 0% /dev/shm 
  6. /dev/sda1 194M 25M 160M 14% /boot 
  7. /dev/sda5 4.0G 161M 3.7G 5% /opt 
  8. /dev/sr0 3.4G 3.4G 0 100% /iso 
  9. /dev/mapper/data-mydata 
  10. 2.0G 98M 1.8G 6% /usr/local/mysql/data 
  11. /dev/mapper/data-smydata 
  12. 2.0G 98M 1.8G 6% /mnt 

第十七步,模擬數(shù)據(jù)丟失和驗證快照的數(shù)據(jù)不會受本身數(shù)據(jù)的影響

 

 
  1. [root@serv01 opt]# cd /mnt 
  2. [root@serv01 mnt]# ls 
  3. crm ib_logfile1 mysql-bin.000003 mysql-bin.000008 mysql-bin.000013 mysql-bin.index 
  4. game larrydb mysql-bin.000004 mysql-bin.000009 mysql-bin.000014 performance_schema 
  5. hello mysql mysql-bin.000005 mysql-bin.000010 mysql-bin.000015 serv01.host.com.err 
  6. ibdata1 mysql-bin.000001 mysql-bin.000006 mysql-bin.000011 mysql-bin.000016 serv01.host.com.pid 
  7. ib_logfile0 mysql-bin.000002 mysql-bin.000007 mysql-bin.000012 mysql-bin.000017 test 
  8.  
  9. #進入數(shù)據(jù)目錄,創(chuàng)建一個文件 
  10. [root@serv01 ~]# cd /usr/local/mysql/data/ 
  11. [root@serv01 data]# touch aa01.txt 
  12.  
  13. #進入快照掛載目錄,發(fā)現(xiàn)沒有這個文件 
  14. [root@serv01 mnt]# ls aa01.txt 
  15. ls: cannot access aa01.txt: No such file or directory 

第十八步,備份數(shù)據(jù)

 

 
  1. [root@serv01 mnt]# cd /databackup/ 
  2. [root@serv01 databackup]# ll 
  3. total 976 
  4. -rw-r--r--. 1 root root 995761 Sep 10 17:47 mysql01.tar.gz 
  5. [root@serv01 databackup]# /etc/init.d/mysqld status 
  6. SUCCESS! MySQL running (2198) 
  7. [root@serv01 databackup]# tar -cvzf mysql02.tar.gz /mnt 
  8.  
  9. [root@serv01 mnt]# rm -rf /usr/local/mysql/data/* 
  10. [root@serv01 mnt]# /etc/init.d/mysqld stop 
  11. ERROR! MySQL server PID file could not be found! 
  12. [root@serv01 mnt]# pkill -9 mysql 
  13. [root@serv01 mnt]# ps -ef | grep mysqld | grep grep -v 
  14.  
  15. [root@serv01 mnt]# cd /usr/local/mysql/data/ 
  16. [root@serv01 data]# ll 
  17. total 0 

第十九步,恢復(fù)數(shù)據(jù),啟動數(shù)據(jù)庫,登錄MySQL,然后查看數(shù)據(jù)是否丟失

 

 
  1. [root@serv01 data]# tar -xvf /databackup/mysql02.tar.gz 
  2.  
  3. [root@serv01 data]# ls 
  4. mnt 
  5. [root@serv01 data]# cd mnt/ 
  6. [root@serv01 mnt]# mv ./* ../ 
  7.  
  8. [root@serv01 mnt]# cd .. 
  9. [root@serv01 data]# ls 
  10. crm ib_logfile0 mysql mysql-bin.000004 mysql-bin.000008 mysql-bin.000012 mysql-bin.000016 serv01.host.com.err 
  11. game ib_logfile1 mysql-bin.000001 mysql-bin.000005 mysql-bin.000009 mysql-bin.000013 mysql-bin.000017 serv01.host.com.pid 
  12. hello larrydb mysql-bin.000002 mysql-bin.000006 mysql-bin.000010 mysql-bin.000014 mysql-bin.index test 
  13. ibdata1 mnt mysql-bin.000003 mysql-bin.000007 mysql-bin.000011 mysql-bin.000015 performance_schema 
  14.  
  15. [root@serv01 data]# /etc/init.d/mysqld start 
  16. Starting MySQL SUCCESS!  
  17. [root@serv01 data]# mysql 
  18. Welcome to the MySQL monitor. Commands end with ; or /g. 
  19. Your MySQL connection id is 1 
  20. Server version: 5.5.29-log Source distribution 
  21.  
  22. Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 
  23.  
  24. Oracle is a registered trademark of Oracle Corporation and/or its 
  25. affiliates. Other names may be trademarks of their respective 
  26. owners. 
  27.  
  28. Type 'help;' or '/h' for help. Type '/c' to clear the current input statement. 
  29.  
  30. mysql> use larrydb; 
  31. Database changed 
  32. mysql> select * from class
  33. +------+--------+ 
  34. | cid | cname | 
  35. +------+--------+ 
  36. | 1 | linux | 
  37. | 2 | oracle | 
  38. +------+--------+ 
  39. 2 rows in set (0.00 sec) 
  40.  
  41. mysql> select * from stu; 
  42. +------+---------+------+ 
  43. | sid | sname | cid | 
  44. +------+---------+------+ 
  45. | 1 | larry01 | 1 | 
  46. | 2 | larry02 | 2 | 
  47. +------+---------+------+ 
  48. 2 rows in set (0.00 sec) 

本文主要是在真實環(huán)境實現(xiàn)冷備份,保證數(shù)據(jù)的安全性,很有實用價值,有需要的朋友可以收藏起來。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻江县| 柘城县| 泽州县| 商洛市| 长顺县| 佛坪县| 邯郸市| 上蔡县| 炉霍县| 正安县| 德钦县| 西乡县| 姚安县| 九江县| 咸阳市| 会宁县| 通辽市| 门头沟区| 汪清县| 呼伦贝尔市| 墨玉县| 安仁县| 定陶县| 镇原县| 庆安县| 日喀则市| 乌鲁木齐县| 大埔县| 定西市| 三原县| 齐河县| 龙里县| 江安县| 尤溪县| 靖西县| 乌兰浩特市| 临高县| 仪征市| 水富县| 毕节市| 廉江市|