日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → MySQL/MariaDB數(shù)據(jù)備份與數(shù)據(jù)恢復(fù)完整教程

      MySQL/MariaDB數(shù)據(jù)備份與數(shù)據(jù)恢復(fù)完整教程

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2014/5/5 8:36:59字體大。A-A+

      作者:西西點(diǎn)擊:445次評(píng)論:0次標(biāo)簽: MySQL MariaDB

      • 類型:濾鏡插件大。7.6M語(yǔ)言:中文 評(píng)分:6.6
      • 標(biāo)簽:
      立即下載

      MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支,主要由開(kāi)源社區(qū)在維護(hù),采用GPL授權(quán)許可。開(kāi)發(fā)這個(gè)分支的原因之一是:Oracle公司收購(gòu)了MySQL后,有將MySQL閉源的潛在風(fēng)險(xiǎn),因此社區(qū)采用分支的方式來(lái)避開(kāi)這個(gè)風(fēng)險(xiǎn)。

      數(shù)據(jù)對(duì)我們來(lái)說(shuō)再重要不過(guò)了,那我們?nèi)绾巫龅綄?duì)數(shù)據(jù)盡可能的安全呢,當(dāng)我們的數(shù)據(jù)丟失了那又該怎么做呢,所以說(shuō)數(shù)據(jù)備份對(duì)我們的數(shù)據(jù)安全性來(lái)說(shuō)太重要了。  

      數(shù)據(jù)對(duì)我們來(lái)說(shuō)再熟悉不過(guò)了,也最平常不過(guò)了,我們每天都在接觸各色各樣的數(shù)據(jù),數(shù)據(jù)記錄了我們平常相關(guān)的業(yè)務(wù)信息,所以數(shù)據(jù)對(duì)于我們來(lái)說(shuō)是很重要的, 這么重要的數(shù)據(jù)如果我們的數(shù)據(jù)丟失了那我們是不是相關(guān)的業(yè)務(wù)都沒(méi)法進(jìn)行了呢,這應(yīng)該是個(gè)很麻煩的問(wèn)題,那我們?cè)趺幢Wo(hù)我們的數(shù)據(jù)的安全呢,這就要用到我們 的數(shù)據(jù)備份了。

      如何執(zhí)行備份恢復(fù):備份與恢復(fù)在工作環(huán)境中是重中之重,為什么需要用到備份和恢復(fù)呢:
      1、一般是做災(zāi)難恢復(fù)的,比如說(shuō)自然災(zāi)害等。
      2、可以做審計(jì)的,比如說(shuō)某一數(shù)據(jù)在過(guò)去是什么樣的。
      3、做測(cè)試的,比如說(shuō)一個(gè)新的業(yè)務(wù)架構(gòu)數(shù)據(jù)存儲(chǔ)方式是否扛得著業(yè)務(wù)的訪問(wèn)
      備份的目的是用于恢復(fù)的,如果備份的數(shù)據(jù)用到時(shí)恢復(fù)不了數(shù)據(jù)怎么辦,所以對(duì)備份數(shù)據(jù)做恢復(fù)測(cè)試是很有必要的。而且還要定期性的去做測(cè)試。

      備份類型:有很多種
      根據(jù)備份時(shí),數(shù)據(jù)庫(kù)服務(wù)器是否在線
      冷備份:cold backup,服務(wù)器要離線,意味著我們的讀寫操作都不可以進(jìn)行了,這是最安全的備份方式,也是最不靠譜的方式。
      溫備份:warm backup,全局施加共享鎖,只可讀,不可寫的備份叫溫備份
      熱備份:hot backup,數(shù)據(jù)庫(kù)不離線,讀寫操作都可以進(jìn)行

      InnoDB記錄數(shù)據(jù)時(shí)都會(huì)給數(shù)據(jù)一個(gè)序列號(hào),所以在備份時(shí)基于MVCC(多版本并發(fā)控制)的機(jī)制自動(dòng)加快照,每啟動(dòng)一個(gè)事務(wù)都會(huì)創(chuàng)建當(dāng)前集的一個(gè)快 照,而后基于MVCC的機(jī)制把每一個(gè)序列號(hào)都給它記錄一份下來(lái),備份時(shí)只備份序列號(hào)或序列號(hào)之前的數(shù)據(jù),往后發(fā)生的將不做備份,如果事務(wù)的隔離級(jí)別不是特 別高的話,它并不會(huì)影響事務(wù)的讀寫操作,而這樣備份出來(lái)的數(shù)據(jù)一定是時(shí)間點(diǎn)一致的數(shù)據(jù),所以要完成熱備份,通常是基于事務(wù)的存儲(chǔ)引擎才能夠完成的。

      根據(jù)備份時(shí)的數(shù)據(jù)集進(jìn)行分類:
      完全備份:full backup:指?jìng)浞菡麄(gè)庫(kù),當(dāng)下數(shù)據(jù)集的整個(gè)庫(kù)的數(shù)據(jù)
      部分備份:partial backup:只備份某張表或某張表的一部份數(shù)據(jù),有時(shí)備份單張表是有必要的。

      根據(jù)備份時(shí)的接口(直接備份數(shù)據(jù)文件還是通過(guò)mysql服務(wù)器導(dǎo)出數(shù)據(jù))
      物理備份:直接復(fù)制(歸檔)數(shù)據(jù)文件的備份方式;跨平臺(tái)能力沒(méi)有邏輯備份好,physucal backup。大數(shù)據(jù)集用這個(gè)比較好。
      邏輯備份:把數(shù)據(jù)庫(kù)中提出來(lái)保存為文本文件;通常使用的工具是mysqldump,logical backup,對(duì)于大容量數(shù)據(jù)不適用。恢復(fù)速度很慢,占據(jù)空間很大

      根據(jù)備份時(shí)是否備份整個(gè)數(shù)據(jù)還是僅備份變化的數(shù)據(jù)
      完全備份:full backup,跟備份數(shù)據(jù)集中的完全備份概念是相同的,也是備份整個(gè)庫(kù)
      增量備份:incremental backup,上一次完全備份之后所改變的數(shù)據(jù)做備份的為增量備份,比如說(shuō)周一做一次備份,周二做一次備份,周三又做一次,這樣一天天累加上去的叫增量備份。比較節(jié)約空間。
      差異備份:differential backup,比如說(shuō)周一做一次備份,到周二了就把周一和周二這兩天的做一次備份,到周三就把周一周二周三的做一次備份,這就叫差異備份。比較容易恢復(fù)。

      備份策略:需要考慮到的問(wèn)題
      1、選擇備份方式,選擇哪種方式根據(jù)我們的生產(chǎn)環(huán)境所需要來(lái)定;
      2、執(zhí)行備份時(shí)間,選項(xiàng)一個(gè)訪問(wèn)最少的時(shí)間做備份是比較合理的;
      3、考慮到恢復(fù)成本:恢復(fù)時(shí)長(zhǎng);
      4、備份成本:考慮到鎖時(shí)間、備份時(shí)長(zhǎng)、備份負(fù)載;

      備份對(duì)象:我們備份需要備份什么呢
      1、備份數(shù)據(jù)庫(kù)中的數(shù)據(jù)是最重要的;
      2、MySQL的配置文件,這個(gè)也是我們備份的對(duì)象
      3、MySQL的代碼也是需要備份的:存儲(chǔ)過(guò)程,存儲(chǔ)函數(shù),觸發(fā)器
      4、OS相關(guān)的配置文件,如crontab配置計(jì)劃及相關(guān)的腳本
      5、如果是在主從復(fù)制的場(chǎng)景中,跟復(fù)制相關(guān)的信息也要備份
      6、為了保證數(shù)據(jù)足夠可靠,二進(jìn)制日志文件也需要備份

      常用的備份工具:
      mysqldump:邏輯備份工具,是單線程備份工具,所以在某個(gè)服務(wù)器上做備份時(shí)它只能啟動(dòng)一個(gè)CPU啟動(dòng)一個(gè)線程進(jìn)行備份,性能比較差。
      對(duì)InnoDB熱備、對(duì)MyISAM只能做到溫備、對(duì)Aria溫備,備份和恢復(fù)過(guò)程較慢;
      mysqldumper:多線程的mysqldump,對(duì)多個(gè)庫(kù)或多張表可以同時(shí)進(jìn)行,提高性能;
      mysqldump、mysqldumper,這兩個(gè)都是邏輯備份工具,通常情況也很難實(shí)現(xiàn)差異或增量備份,只能做完全備份,但可以做部分備份,比如只備份一張表是可以實(shí)現(xiàn)的;

      基于冷備份時(shí):cp, 要基于lvm-snapshot邏輯卷快照進(jìn)行備份的,接近于熱備工具,因?yàn)橐日?qǐng)求全局鎖,而后創(chuàng)建快照,并在創(chuàng)建快照完成后釋放全局鎖;而后使用 cp、tar等工具進(jìn)行物理備份(因?yàn)閺?fù)制的源數(shù)據(jù)文件),所以備份和恢復(fù)數(shù)據(jù)速度較快,缺點(diǎn)很難實(shí)現(xiàn)增量備份,并且請(qǐng)求全局鎖需要等待一段時(shí)間,在繁忙 的服務(wù)器上尤其如此。

      SELECT clause INTO OUTFILE ‘/path/to/somefile’;把挑選出來(lái)的子句保存到某一個(gè)文件中,是個(gè)部分備份工具,不會(huì)備份關(guān)系定義,僅備份表中的數(shù)據(jù),但這也是個(gè)邏輯 備份工具,在速度上也快于mysqldump,也沒(méi)法實(shí)現(xiàn)增量備份。
      LOAD ADTA INFILE ‘/path/from/somefile’;表示從哪里讀數(shù)據(jù)來(lái)恢復(fù)的; 

      Innobase:提供了商業(yè)備份工具為Innobackup,可以實(shí)現(xiàn)InnoDB的熱備支持增量備份;但是對(duì)于MyISAM不支持增量備份,只能實(shí)現(xiàn)完全備份,屬于物理備份,速度比較快。
      Xtrabackup:由Percona組織提供的開(kāi)源備份工具,物理備份,速度快;
      Mysqlhostcopy:幾乎冷備,吹牛工具,不適用;

      mysqldump:常用的備份工具,也是個(gè)邏輯備份工具,用于小數(shù)據(jù)備份,一般都是在5G以下的小數(shù)據(jù)進(jìn)行備份;可以使用文本進(jìn)行二次處理;相當(dāng)于MySQL的客戶端工具
      使用格式:mysqldump [options] [db_name [tbl_name ...]]
      備份單個(gè)庫(kù)時(shí)用這個(gè)工具:mysqldump[option] db_name
      恢復(fù)時(shí),如果目標(biāo)庫(kù)不存在,需要事先手動(dòng)創(chuàng)建

      --all-databases:備份所有的數(shù)據(jù)庫(kù)--databases db1 db2:備份指定的多個(gè)數(shù)據(jù)庫(kù),用空格隔開(kāi)--lock-all-tables:請(qǐng)求鎖定所有表之后再備份,一般只對(duì)MyISAM做溫備,不過(guò)也可以對(duì)InnoDB和Aria做溫備。--events:備份事件調(diào)度器代碼--routines:備份存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)--triggers:備份觸發(fā)器--flush-logs:備份前、請(qǐng)求到鎖以后滾動(dòng)日志,備份時(shí)滾動(dòng)日志,手動(dòng)滾動(dòng)就要手動(dòng)施加鎖--master-data=[0|1|2]復(fù)制時(shí)的同步位置標(biāo)記,0表示不記錄,1記錄carnge master語(yǔ)句,2記錄為注釋為change master語(yǔ)句--single-transaction:能夠?qū)nnoDB存儲(chǔ)引擎實(shí)現(xiàn)熱備份,啟動(dòng)一個(gè)單一的大事物,基于MVCC(多版本并發(fā)控制)實(shí)現(xiàn)對(duì)InnoDB存儲(chǔ)引擎的熱備,它會(huì)自動(dòng)加鎖的,不要跟--lock-all-tables同時(shí)使用;
      # mysqldump --databases hellodb --lock-all-tables > /tmp/hellodb.sql :備份數(shù)據(jù)庫(kù),并且請(qǐng)求表鎖,這里備份的所有寫操作都會(huì)被阻塞,這種方式也不太理想。
      # mysqldump --databases hellodb --lock-all-tables --flush-logs > /tmp/hellodb.sql
      # mysqldump --databases hellodb --single-transaction --flush-logs > /tmp/hellodb.sql:保證這個(gè)庫(kù)下所有的表的存儲(chǔ)引擎都是InnoDB的前提下使用--single-transaction進(jìn)行熱備。
      分時(shí)間段查看二進(jìn)制日志后重定向到某個(gè)文件中去:
      # mysqlbinlog --start-porition=367 --stop-position=669 master-bin.000005 > /tmp/hellodb.inc.sql
      定義一個(gè)開(kāi)始點(diǎn)和一個(gè)結(jié)束點(diǎn)就可以把二進(jìn)制文件重定向到某個(gè)文件中再進(jìn)行恢復(fù)了;


      使用mysqldump備份時(shí):
      請(qǐng)求鎖:--lock-all-tables使用--single-transaction進(jìn)行innodb熱備;
      滾動(dòng)日志:--flush-logs
      選定要備份的庫(kù):--databases
      指定二進(jìn)制日志文件及位置:--master-data=2
      注意:備份前需要加鎖,恢復(fù)時(shí),建議關(guān)閉二進(jìn)制日志,關(guān)閉其它用戶連接
      備份策略:mysqldump+二進(jìn)制日志文件:

      恢復(fù):完全備份+各二進(jìn)制日志文件中至此刻的事件,恢復(fù)過(guò)程發(fā)生的事件沒(méi)必要也寫到二進(jìn)制日志文件中去;所以在恢復(fù)時(shí)要臨時(shí)性的關(guān)閉二進(jìn)制日志文件:


      MariaDB [(hellodb)] > set session sql_log_bin=0:臨時(shí)關(guān)閉二進(jìn)制日志文件
      MariaDB [(hellodb)] > source /tmp/hellodb.sql;在數(shù)據(jù)庫(kù)命令行直接讀取備份文件


      對(duì)MySQL配置文件,以及與MySQL相關(guān)的OS配置文件在每次修改后都應(yīng)該直接進(jìn)行備份


      lvm-snapshot:基于LVM快照的備份
      1、基于快照做備份有個(gè)提前,事物日志跟數(shù)據(jù)文件必須在同一個(gè)卷上;
      2、創(chuàng)建快照卷之前,要請(qǐng)求MySQL的全局鎖,在快照創(chuàng)建完成之后釋放鎖;
      3、請(qǐng)求全局鎖完成這后做一次日志滾動(dòng);做標(biāo)記,時(shí)間記錄,做二進(jìn)制日志文件及位置標(biāo)記(需要手動(dòng)進(jìn)行);

      注意:
      1、將數(shù)據(jù)和備份放在不同的磁盤設(shè)備上,異機(jī)或異地的備份存儲(chǔ)為理想;
      2、備份的數(shù)據(jù)應(yīng)該周期性的進(jìn)行還原測(cè)試;
      3、每次災(zāi)難恢復(fù)后都應(yīng)該立即做一次完全備份
      4、針對(duì)不同規(guī);蚣(jí)別的數(shù)據(jù)量,要定制好備份策略;
      5、二進(jìn)制日志應(yīng)該跟數(shù)據(jù)文件在不同的磁盤上,并周期性的備份好二進(jìn)制日志文件;

      從備份中恢復(fù)應(yīng)該遵循的步驟:
      1、停止MySQL服務(wù)器;
      2、記錄服務(wù)器的配置和文件權(quán)限;
      3、將數(shù)據(jù)從備份移到MySQL數(shù)據(jù)目錄,其執(zhí)行方式依賴于工具;
      4、改變配置和文件權(quán)限;
      5、以限制訪問(wèn)模塊重啟服務(wù)器,mysqld的--skip-network選項(xiàng)可跳過(guò)網(wǎng)絡(luò)功能;
      方法:編輯my.cnf配置文件,添加如下項(xiàng)
      skip-networking
      socket=/tmp/mysql-recovery.sock
      6、載入邏輯備份(如果有),而后檢查和重放二進(jìn)制日志
      7、檢查已經(jīng)還原的數(shù)據(jù);
      8、重新以完全訪問(wèn)模式重啟服務(wù)器;

      使用mysqldump實(shí)現(xiàn)備份,用二進(jìn)制日志恢復(fù)數(shù)據(jù),這里我們以當(dāng)前系統(tǒng)上的數(shù)據(jù)庫(kù)hellodb為例:

      第一步:先把hellodb這個(gè)數(shù)據(jù)庫(kù)做一次完全備份,當(dāng)然,如果數(shù)據(jù)庫(kù)的數(shù)據(jù)很大,比如說(shuō)大于10G的話不建議使用mysqldump這個(gè)工具做備份,這里我們只為了說(shuō)明問(wèn)題:


      # -u指定用戶,-p指用戶密碼,--databases指定備份哪個(gè)數(shù)據(jù)庫(kù),--lock-all-tables指?jìng)浞輹r(shí)請(qǐng)求表鎖,--flush-logs滾動(dòng)日志
      [root@node0 ~]# mysqldump -uroot -plinux --databases hellodb --lock-all-tables --flush-logs --master-data=2 > /root/hellodb.sql
      [root@node0 ~]# ll -h hellodb.sql-rw-r--r-- 1 root root 7.8K May  2 14:26 hellodb.sql
      [root@node0 ~]#


      第二步:在數(shù)據(jù)庫(kù)hellodb中修改或創(chuàng)建一些表或數(shù)據(jù),使得之前備份的數(shù)據(jù)跟現(xiàn)有的數(shù)據(jù)庫(kù)中的數(shù)據(jù)存在差別,以完后后面的通過(guò)二進(jìn)制日志進(jìn)行數(shù)據(jù)恢復(fù):


      MariaDB [hellodb]> CREATE TABLE newtable;
      ERROR 1113 (42000): A table must have at least 1 column
      MariaDB [hellodb]> CREATE TABLE newtable(Name CHAR(20));
      Query OK, 0 rows affected (1.11 sec)
      MariaDB [hellodb]> INSERT INTO newtable values ('Tom'),('Jerry'),('Lucy');
      Query OK, 3 rows affected (0.13 sec)
      Records: 3  Duplicates: 0  Warnings: 0


      第三步:把這個(gè)hellodb這個(gè)數(shù)據(jù)庫(kù)給刪除了去:


      MariaDB [hellodb]> CREATE TABLE newtable;
      ERROR 1113 (42000): A table must have at least 1 column
      MariaDB [hellodb]> CREATE TABLE newtable(Name CHAR(20));
      Query OK, 0 rows affected (1.11 sec)
      MariaDB [hellodb]> INSERT INTO newtable values ('Tom'),('Jerry'),('Lucy');
      Query OK, 3 rows affected (0.13 sec)
      Records: 3  Duplicates: 0  Warnings: 0


      第四步:查看我們的二進(jìn)制日志文件,把后來(lái)改修改和創(chuàng)建的記錄二進(jìn)制日志的信息保存出來(lái),以便我們恢復(fù)新增的數(shù)據(jù)內(nèi)容,我們備份時(shí)做了日志滾動(dòng),所以查看最后一個(gè)日志信息就可以了;


      [root@node0 ~]# cd /mydata/data/[root@node0 data]# mysqlbinlog --start-position=403 --stop-position=663 mysql-bin.000004 > /tmp/hellodb.binlog.sql


      第五步:恢復(fù)數(shù)據(jù),進(jìn)入到mysql的命令行模式下,把二進(jìn)制日志關(guān)掉,恢復(fù)數(shù)據(jù)時(shí)不需要把恢復(fù)信息記錄到二進(jìn)制日志中去;


      # 關(guān)閉當(dāng)前全話的二進(jìn)制日志文件
      MariaDB [(none)]> SET session sql_log_bin=0;
      MariaDB [(none)]> source /root/hellodb.sql
      MariaDB [hellodb]> SHOW MASTER STATUS; 查看兩次二進(jìn)制文件有沒(méi)有改動(dòng);+------------------+----------+--------------+------------------+
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
      +------------------+----------+--------------+------------------+
      | mysql-bin.000004 |      815 |              |                  |
      +------------------+----------+--------------+------------------+MariaDB [hellodb]> SHOW TABLES;
      MariaDB [hellodb]> source /tmp/hellodb.binlog.sql
      MariaDB [hellodb]> SELECT * FROM newtable;+-------+
      | Name  |
      +-------+
      | Tom   |
      | Jerry |
      | Lucy  |
      +-------+3 rows in set (0.00 sec)
      MariaDB [hellodb]> SET session sql_log_bin=1; 讓二進(jìn)制上線


      OK,這種就是基于mysqldump+二進(jìn)制日志完成數(shù)據(jù)完全恢復(fù)過(guò)來(lái)了,通過(guò)二進(jìn)制日志可以很好的幫助我們恢復(fù)那些可能沒(méi)有來(lái)得急備份的數(shù)據(jù),對(duì)我們的數(shù)據(jù)安全有很重要。

      lvm-snapshot:基于邏輯卷快照做備份,這里要注意的是,快照并不是備份,最多也只是說(shuō)借助于快照來(lái)做數(shù)據(jù)備份,快照本身不是備份;

      做了快照之后,一旦源卷的數(shù)據(jù)需要修改,就要把源卷上的數(shù)據(jù)復(fù)制一份到快照卷上,以后再通過(guò)快照卷訪問(wèn)時(shí),那些修改了的數(shù)據(jù)都通過(guò)快照存儲(chǔ)來(lái)訪問(wèn),沒(méi)修改的還通過(guò)源卷訪問(wèn),快照只存儲(chǔ)變化的數(shù)據(jù);
      1、它僅僅是作為源卷的一個(gè)訪問(wèn)路徑;
      2、剛創(chuàng)建好的快照卷時(shí),快照卷中是沒(méi)有任何數(shù)據(jù)的,它僅是所有數(shù)據(jù)指向了源卷的數(shù)據(jù),所以訪問(wèn)的數(shù)據(jù)都是來(lái)自源卷;
      3、一旦源卷中的數(shù)據(jù)需要修改了,某一數(shù)據(jù)在改之前需要將數(shù)據(jù)復(fù)制一份到快照卷中,所以以后再通過(guò)快照卷訪問(wèn)的數(shù)據(jù)都是一部分來(lái)自快照卷,一部份來(lái)自源 卷;那些修改的數(shù)據(jù)來(lái)自快照卷,沒(méi)修改的數(shù)據(jù)來(lái)自源卷;快照卷僅是能夠給我們提供了一個(gè)時(shí)間一致性文件的訪問(wèn)通路;

      做快照卷要注意的幾點(diǎn):
      1、基于快照備份時(shí),事務(wù)日志必須跟數(shù)據(jù)文件在同一個(gè)卷上;
      2、創(chuàng)建快照卷之前,要請(qǐng)求mysql的全局鎖,在快照創(chuàng)建完成之后釋放鎖;
      3、請(qǐng)求全局鎖完成之后做一次日志滾動(dòng),以便記錄時(shí)間點(diǎn)的;做二進(jìn)制日志文件及位置標(biāo)記,就是master-data;

      第一步:首先先看一下你的數(shù)據(jù)目錄的是不是邏輯卷,mount看一下,如果不是邏輯卷的話就別這樣玩;


      [root@node0 ~]# mount/dev/mapper/vg0-root on / type ext4 (rw)
      proc on /proc type proc (rw)
      sysfs on /sys type sysfs (rw)
      devpts on /dev/pts type devpts (rw,gid=5,mode=620)
      tmpfs on /dev/shm type tmpfs (rw)/dev/sda1 on /boot type ext4 (rw)/dev/mapper/vg0-usr on /usr type ext4 (rw)/dev/mapper/vg0-var on /var type ext4 (rw)/dev/mapper/mydata-mysqldata on /mydata/data type ext4 (rw,noatime)
      none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
      [root@node0 ~]# lvs
       LV        VG     Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
      mysqldata mydata -wi-ao----  8.00g
       root      vg0    -wi-ao---- 20.00g                                             
       swap      vg0    -wi-ao----  2.00g                                             
       usr       vg0    -wi-ao---- 10.00g                                             
       var       vg0    -wi-ao---- 20.00g                                             
      [root@node0 ~]# vgs
       VG     #PV #LV #SN Attr   VSize  VFree
      mydata   1   1   0 wz--n- 10.00g 2.00g
       vg0      1   4   0 wz--n- 59.99g 7.99g
      [root@node0 ~]#


      第二步:請(qǐng)求鎖,這個(gè)如果是在生產(chǎn)環(huán)境中我們可以用腳本來(lái)完成,因?yàn)檫@樣請(qǐng)求到釋放鎖的時(shí)間就可以比較快;


      MariaDB [(none)]> FLUSH TABLES WITH READ LOCK;  # 請(qǐng)求鎖
      Query OK, 0 rows affected (0.01 sec)
      
      MariaDB [(none)]> FLUSH LOGS;    # 滾動(dòng)一下日志
      Query OK, 0 rows affected (0.02 sec)
      
      MariaDB [(none)]> SHOW MASTER STATUS;   # 查看一下日志position信息+------------------+----------+--------------+------------------+
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
      +------------------+----------+--------------+------------------+
      | mysql-bin.000002 |      365 |              |                  |
      +------------------+----------+--------------+------------------+1 row in set (0.04 sec)
      
      MariaDB [(none)]>


      第三步:創(chuàng)建快照卷,要在你的邏輯卷的有效空間大小范圍內(nèi)創(chuàng)建,不能超過(guò)邏輯卷的大。 


      [root@node0 ~]# mkdir backup
      [root@node0 ~]# mysql -e 'show master status'+------------------+----------+--------------+------------------+
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
      +------------------+----------+--------------+------------------+
      | mysql-bin.000002 |      365 |              |                  |
      +------------------+----------+--------------+------------------+[root@node0 ~]# mysql -e 'show master status' > /root/backup/binlog.pos
      [root@node0 ~]# lvcreate -L 100M -s -n mydata-snap -p r /dev/mydata/mysqldata
       Logical volume "mydata-snap" created
      [root@node0 ~]# lvs
       LV          VG     Attr       LSize   Pool Origin    Data%  Move Log Cpy%Sync Convert
      mydata-snap mydata sri-a-s--- 100.00m      mysqldata   0.01
       mysqldata   mydata owi-aos---   8.00g                                                
       root        vg0    -wi-ao----  20.00g                                                
       swap        vg0    -wi-ao----   2.00g                                                
       usr         vg0    -wi-ao----  10.00g                                                
       var         vg0    -wi-ao----  20.00g                                                
      [root@node0 ~]#


      第四步:然后再到mysql命令行中釋放鎖: 


      MariaDB [(none)]> UNLOCK TABLES;
      Query OK, 0 rows affected (0.01 sec)
      
      MariaDB [(none)]>


      第五步:掛載快照卷,然后需要備份什么只需要復(fù)制一份數(shù)據(jù)目錄就可以了,其實(shí)的按需要做備份就可以了,如果不確定也可以全都復(fù)制好了,安全起見(jiàn): 


      [root@node0 ~]# mount /dev/mydata/mydata-snap /data -o ro
      [root@node0 ~]# cd /data/[root@node0 data]# ls aria_log.00000001  ibdata1      multi-master.info  mysql-bin.000002     node0.tanxw.com.pid
      aria_log_control   ib_logfile0  mysql              mysql-bin.index      test
      hellodb            ib_logfile1  mysql-bin.000001   node0.tanxw.com.err
      [root@node0 data]#


      第六步:這里才是做真正的備份,只要直接復(fù)制數(shù)據(jù)就可以了,備份完之后就可以卸載快照卷了,如果不需要就可以把快照卷刪除就可以了:


      [root@node0 data]# cp -a /data/ /root/backup/data-2014-05-02  # -a歸檔復(fù)制數(shù)據(jù)
      [root@node0 data]# cd /root/backup/data-2014-05-02[root@node0 data-2014-05-02]# ls aria_log.00000001  ibdata1      multi-master.info  mysql-bin.000002     node1.tanxw.com.pid
      aria_log_control   ib_logfile0  mysql              mysql-bin.index      test
      hellodb            ib_logfile1  mysql-bin.000001   node1.tanxw.com.err
      [root@node0 data-2014-05-02]# pwd/root/backup/data-2014-05-02[root@node0 data-2014-05-02]# umount /data/[root@node0 ~]# lvremove /dev/mydata/mydata-snap  # 刪除快照
      Do you really want to remove active logical volume mydata-snap? [y/n]: y
       Logical volume "mydata-snap" successfully removed
      [root@node0 ~]#


      在這里需要注意的是:如果備份這一刻有數(shù)據(jù)修改了,那我們備份下來(lái)的數(shù)據(jù)是不會(huì)保存快照后修改的數(shù)據(jù)的;

      結(jié)束:

      數(shù)據(jù)備份與恢復(fù)的重要性大家都知道,當(dāng)然備份也是其中一個(gè)而且是歸重要的一個(gè)保護(hù)數(shù)據(jù)安全性的重要手段之一,所以能熟練掌握數(shù)據(jù)的備份與恢復(fù)對(duì)我們工作來(lái)說(shuō)也是至關(guān)重要的,有什么不對(duì)希望大神多多指點(diǎn)。

        3d模型
        (13)3d模型
        如今電子商務(wù)發(fā)展勢(shì)頭迅猛,各種商品廣告在網(wǎng)絡(luò)上鋪天蓋地,怎樣讓自己的商品能更全面更顯眼的展現(xiàn)給消費(fèi)者成了所有商家宣傳展示自己商品的重中之重。傳統(tǒng)的二維照片顯然已經(jīng)無(wú)法滿足這一要求,于是商品展示技術(shù)便開(kāi)始步入人們的視野。模型的展示,用戶不僅僅可以更為清晰直觀地瀏覽廣告內(nèi)容,其互動(dòng)性以用戶為核心,任意視角全方位瀏覽欣賞,同時(shí)根據(jù)要求制作用戶可直觀地參與內(nèi)容,其廣告效果可想而知。這里給大家收集整理了很多...更多>>
        • 人體穴位3D模型軟件V2011 中文版

          07-05 / 8.0M

          推薦理由: 一款人|體穴位3D模型軟件,這是一款顯示三維人|體的穴位軟件,其中包括12正經(jīng)全部309個(gè)穴位,傻瓜操作
        • (常春藤模型生成插件)Guruware Ivy

          10-19 / 7.6M

          推薦理由:常春藤生成插件,3ds max 藤類植物模型生成插件,非常棒的插件。 結(jié)合 MAX 的動(dòng)畫工具可以制作藤條生長(zhǎng)動(dòng)畫
        • pcb 3D電子元件模型庫(kù)

          04-24 / 12.5M

          推薦理由:網(wǎng)上收集的模型庫(kù),很多哦~希望多童鞋們有幫助!
        • 3d max游戲人物模型

          03-25 / 412KB

          推薦理由:3d max游戲人物模型 包含一個(gè)人物模型。用于幫助初學(xué)者自學(xué)。 要從最基本建模開(kāi)始學(xué),建議大家去看網(wǎng)絡(luò)教程
        • 3D人體模型(EasyAnatomy3D)V4.0 已

          10-26 / 20.5M

          推薦理由:如果有學(xué)3D人體建模的可能會(huì)有點(diǎn)用,親,你學(xué)了沒(méi),啥,沒(méi)有?沒(méi)有還不趕緊去學(xué)— —!額,這個(gè)這個(gè)嘛,自己
        • 3d人物模型合集包西西整理

          01-25 / 92.9M

          推薦理由:西西小編整理的一些3D人物模型的素材包,如果大家有興趣的話可以下載來(lái)看看,都是一些美女帥哥的模型哦~ 女
        3dmax插件大全
        (19)3dmax插件大全
        除了能夠制作出精細(xì)的模型外,其中最大的一個(gè)亮點(diǎn)就是它的插件功能強(qiáng)大,只要你能夠想到的效果,都有相應(yīng)的插件可以替你實(shí)現(xiàn)。這里西西給大家收集了很多非常實(shí)用的插件。插件后綴名介紹.位于建立命令面板中,可創(chuàng)建包括建模增加輔助物等的新對(duì)象。.位于變動(dòng)命令面板中,增加新的修改命令,可在中找到。.屬于大氣效果燈或渲染類插件,位于的環(huán)境編輯器中,也可在菜單的面板中找到。.屬于特殊用途的插件,位于程序命令面板。.屬于后期...更多>>
        • 3dmax2010中文路徑貼圖補(bǔ)丁

          10-20 / 85.5M

          推薦理由:3dmax2010是我目前用的3dmax軟件中比較好的版本了,剛開(kāi)始用這個(gè)軟件的童鞋,就會(huì)發(fā)現(xiàn)不能貼圖,你們想想國(guó)
        • 3dsmax森林插件 Forest Pack Pro3.

          04-02 / 30M

          推薦理由:Forest Pack Pro(森林插件)為3ds max提供了創(chuàng)建大面積森林及植被的完整解決方案,使用此插件你能夠創(chuàng)建數(shù)百
        • 幻景大師DreamScape for 3dsmax 20

          05-15 / 47.0M

          推薦理由: 由Ma5漢化。智能安裝,不需原版,內(nèi)附示例、教程、授權(quán)程序及安裝說(shuō)明。 DreamScape又稱幻景大師,是
        • V-Ray for 3ds max 20112.00.02 中

          03-01 / 26.8M

          推薦理由: V-Ray 頂渲中英文雙語(yǔ)切換版,是學(xué)習(xí)及掌握V-Ray的最佳選擇,在使用時(shí),可進(jìn)行中英文自由切換,從而對(duì)
        • 3dmax模型三角面轉(zhuǎn)四邊面插件

          08-03 / 14KB

          推薦理由: 1 解壓 2打開(kāi)(4polybomb mutimse)文件會(huì)看見(jiàn) 文件夾(scripts)和文件夾(ui)3 將scripts完全打開(kāi)(
        • 3dmax森林制作插件(Forest Pack Pr

          10-19 / 25.9M

          推薦理由:Forest Pack Pro (專業(yè)森林制作)是 Itoo 出品的一款可以讓你在短時(shí)間內(nèi)做出專業(yè)的大面積樹(shù)林,草叢,人群等

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)