91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣利用MySQL學習MongoDB中的備份和恢復

發布時間:2021-09-29 10:37:00 來源:億速云 閱讀:127 作者:柒染 欄目:數據庫

這期內容當中小編將會給大家帶來有關怎樣利用MySQL學習MongoDB中的備份和恢復,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

  在數據庫表丟失或損壞的情況下,備份你的數據庫是很重要的。如果發生系統崩潰,你肯定想能夠將你的表盡可能丟失最少的數據恢復到崩潰發生時的狀態。

  如何利用MySQL學習MongoDB之備份和恢復

  1、MySQL備份和恢復

  MySQL備份方式大體上分為以下3種:

  直接拷貝數據庫文件

  使用mysqlhotcopy備份數據庫

  使用mysqldump備份數據庫

  (1)、直接拷貝數據庫文件

  最為直接、快速、方便,缺點是基本上不能實現增量備份。為了保證數據的一致性,需要在靠背文件前,執行以下SQL語句:

  FLUSHTABLESWITHREADLOCK;

  也就是把內存中的數據都刷新到磁盤中,同時鎖定數據表,以保證拷貝過程中不會有新的數據寫入。這種方法備份出來的數據恢復也很簡單,直接拷貝回原來的數據庫目錄下即可。

  但對于Innodb類型表來說,還需要備份其日志文件,即ib_logfile*文件。因為當Innodb表損壞時,就可以依靠這些日志文件來恢復。

  (2)、使用mysqlhotcopy備份數據庫

  mysqlhotcopy是perl程序。它使用LOCKTABLES、FLUSHTABLES和cp或scp來快速備份數據庫。對于備份數據庫或單個表來說它是最快的途徑,但它只能運行在本地服務器上,且mysqlhotcopy只能備份MyISAM表,對于Innodb表則無招可施了。

  (3)、使用mysqldump備份數據庫

  mysqldump是SQL級別的備份,它將數據表導成SQL腳該篇文章件,在不同的MySQL版本之間升級時相對比較合適,這也是最主流的備份方法。

  2、MongoDB備份和恢復

  MongoDB提供了兩個命令來備份(mongodump)和恢復(mongorestore)數據庫。

  (1)、mongodump備份工具

  我們先看一下此工具的幫助信息:

  [chinastor.com-root@localhostbin]#./mongodump--helpoptions:--helpproducehelpmessage-v[--verbose]bemoreverbose(includemultipletimesformoreverbositye.g.-vvvvv)-h[--host]argmongohosttoconnectto(/s1,s2forsets)--portargserverport.Canalsouse--hosthostname:port--ipv6enableIPv6support(disabledbydefault)-u[--username]argusername-p[--password]argpassword--dbpathargdirectlyaccessmongoddatabasefilesinthegivenpath,insteadofconnectingtoamongodserver-needstolockthedatadirectory,socannotbeusedifamongodiscurrentlyaccessingthesamepath--directoryperdbifdbpathspecified,eachdbisinaseparatedirectory-d[--db]argdatabasetouse-c[--collection]argcollectiontouse(somecommands)-o[--out]arg(=dump)outputdirectoryor"-"forstdout-q[--query]argjsonquery--oplogUseoplogforpoint-in-timesnapshotting--repairtrytorecoveracrasheddatabase[chinastor.com-root@localhostbin]#

  如何利用MySQL學習MongoDB之備份和恢復

  例如我們的系統中有一個叫做”foo”庫,下面我們將演示如何將這個庫備份出來:

  [chinastor.com-root@localhostbin]#./mongodump-dfoo-o/data/dumpconnectedto:127.0.0.1DATABASE:footo/data/dump/foofoo.system.indexesto/data/dump/foo/system.indexes.bson3objectsfoo.system.usersto/data/dump/foo/system.users.bson1objectsfoo.t2to/data/dump/foo/t2.bson1objectsfoo.t1to/data/dump/foo/t1.bson2objects[chinastor.com-root@localhostbin]#

  通過工具返回信息,我們看到的是foo中的數據已經被備份成bson格式的文件了,接下來我們到備份的目錄下去驗證一下:

  [chinastor.com-root@localhostdump]#ll/data/dump/foo/總計16-rw-r--r--1rootroot19304-2211:55system.indexes.bson-rw-r--r--1rootroot9104-2211:55system.users.bson-rw-r--r--1rootroot6604-2211:55t1.bson-rw-r--r--1rootroot4904-2211:55t2.bson[chinastor.com-root@localhostdump]#

  結果證明foo庫中的表已經被成功備份出來,接下來我們將演示如何將備份恢復回去。

  (2)、mongorestore恢復工具

  我們先看一下此工具的幫助信息:

  [chinastor.com-root@localhostbin]#./mongorestore--helpusage:./mongorestore[options][directoryorfilenametorestorefrom]options:--helpproducehelpmessage-v[--verbose]bemoreverbose(includemultipletimesformoreverbositye.g.-vvvvv)-h[--host]argmongohosttoconnectto(/s1,s2forsets)--portargserverport.Canalsouse--hosthostname:port--ipv6enableIPv6support(disabledbydefault)-u[--username]argusername-p[--password]argpassword--dbpathargdirectlyaccessmongoddatabasefilesinthegivenpath,insteadofconnectingtoamongodserver-needstolockthedatadirectory,socannotbeusedifamongodiscurrentlyaccessingthesamepath--directoryperdbifdbpathspecified,eachdbisinaseparatedirectory-d[--db]argdatabasetouse-c[--collection]argcollectiontouse(somecommands)--objcheckvalidateobjectbeforeinserting--filterargfiltertoapplybeforeinserting--dropdropeachcollectionbeforeimport--oplogReplayreplayoplogforpoint-in-timerestore[chinastor.com-root@localhostbin]#

  例如我們先將”foo”庫刪除了:

  [chinastor.com-root@localhostbin]#./mongoMongoDBshellversion:1.8.1connectingto:test>usefooswitchedtodbfoo>db.dropDatabase();{"dropped":"foo","ok":1}>showdbsadmin0.0625GBlocal(empty)test0.0625GB>

  然后下面我們將演示如何恢復這個庫:

  [chinastor.com-root@localhostbin]#./mongorestore--directoryperdb/data/dumpconnectedto:127.0.0.1SunApr2212:01:27/data/dump/foo/t1.bsonSunApr2212:01:27goingintonamespace[foo.t1]SunApr2212:01:272objectsfoundSunApr2212:01:27/data/dump/foo/t2.bsonSunApr2212:01:27goingintonamespace[foo.t2]SunApr2212:01:271objectsfoundSunApr2212:01:27/data/dump/foo/system.users.bsonSunApr2212:01:27goingintonamespace[foo.system.users]SunApr2212:01:271objectsfoundSunApr2212:01:27/data/dump/foo/system.indexes.bsonSunApr2212:01:27goingintonamespace[foo.system.indexes]SunApr2212:01:27{name:"_id_",ns:"foo.system.users",key:{_id:1},v:0}SunApr2212:01:27{name:"_id_",ns:"foo.t2",key:{_id:1},v:0}SunApr2212:01:27{name:"_id_",ns:"foo.t1",key:{_id:1},v:0}SunApr2212:01:273objectsfound[chinastor.com-root@localhostbin]#

  通過工具返回信息,我們看到的是foo中的數據已經被恢復回來了,接下來我們到庫里去驗證一下:

  [chinastor.com-root@localhostbin]#./mongoMongoDBshellversion:1.8.1connectingto:test>usefooswitchedtodbfoo>showcollections;system.indexessystem.userst1t2>

  結果證明foo庫表已經被成功恢復回來了。

上述就是小編為大家分享的怎樣利用MySQL學習MongoDB中的備份和恢復了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云安县| 新蔡县| 渝中区| 大同市| 抚松县| 德阳市| 万宁市| 贵定县| 东台市| 手机| 平顶山市| 和顺县| 新田县| 西青区| 定陶县| 汉中市| 凉山| 农安县| 屯昌县| 泰顺县| 垫江县| 宜兰县| 锡林浩特市| 夏河县| 甘泉县| 汉川市| 汝州市| 太仓市| 务川| 莫力| 通海县| 濮阳市| 高淳县| 亚东县| 虞城县| 台州市| 甘德县| 郎溪县| 墨竹工卡县| 分宜县| 洪雅县|