mongodb備份資料庫
Ⅰ 資料庫軟體都有那些
企業里常用的資料庫軟體有Mysql、PostgreSQL、MicrosoftSQLServer、Oracle資料庫、MongoDB。
1、Mysql。
MySQL原本是一個開放源碼的關系資料庫管理系統,原開發者為瑞典的MySQLAB公司,該公司於2008年被升陽微系統(SunMicrosystems)收購。2009年,甲骨文公司(Oracle)收購升陽微系統公司,MySQL成為Oracle旗下產品。
MySQL由於性能高、成本低、可靠性好,已經成為最流行的開源資料庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用。
2、PostgreSQL。
PostgreSQL可以說是目前功能最強大、特性最豐富和結構最復雜的開源資料庫管理系統,其中有些特性甚至連商業資料庫都不具備。這個起源於加州大學伯克利分校的資料庫,現已成為一項國際開發項目,並且擁有廣泛的用戶群,尤其是在海外,目前國內使用者也越來越多。
PostgreSQL基本上算是見證了整個資料庫理論和技術的發展歷程,由UCB計算機教授MichaelStonebraker於1986年創建。在此之前,Stonebraker教授主導了關系資料庫Ingres研究項目,88年,提出了Postgres的第一個原型設計。
MySQL號稱是使用最廣泛的開源資料庫,而PG則被稱為功能最強大的開源資料庫。
3、MicrosoftSQLServer。
SQLServer是Microsoft開發的一個關系資料庫管理系統(RDBMS),現在是世界上最為常用的資料庫。SQLServer現在是包括內置的商務智能工具,以及一系列的分析和報告工具,可以創建資料庫、備份、復制、安全性更好以及更多。
SQLServer是一個高度可擴展的產品,可以從一個單一的筆記本電腦上運行的任何東西或以高倍雲伺服器網路,或在兩者之間任何東西。雖然說是「任何東西」,但是仍然要滿足相關的軟體和硬體的要求。
4、Oracle資料庫。
Oracle資料庫系統是美國Oracle(甲骨文)公司提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(Client/Server,C/S)或瀏覽器/伺服器(Browser/Server,B/S)體系結構的資料庫之一。
Oracle資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。
5、MongoDB
mongoDB是一個介於關系資料庫和非關系資料庫之間的開源產品,是最接近於關系型資料庫的NoSQL資料庫。它在輕量級JSON交換基礎之上進行了擴展,即稱為BSON的方式來描述其無結構化的數據類型。盡管如此它同樣可以存儲較為復雜的數據類型。
參考資料來源:網路——Mysql
參考資料來源:網路——PostgreSQL
參考資料來源:網路——MicrosoftSQLServer
參考資料來源:網路——Oracle資料庫
參考資料來源:網路——MongoDB
Ⅱ 測試工程師面試常見問題有哪些
測試工程師面試常見問題及答案舉例如下。
一、Mongodb熟悉嗎,一般部署幾台。
部署過,沒有深入研究過,一般mongodb部署主從、或者mongodb分片集群;建議3台或5台伺服器來部署。MongoDB分片的基本思想就是將集合切分成小塊。這些塊分散到若乾片裡面,每個片只負責總數據的一部分。
二、如何發布和回滾,用jenkins又是怎麼實現。
筆者回答:jenkins配置好代碼路徑(SVN或GIT),然後拉代碼,打tag。需要編譯就編譯,編譯之後推送到發布伺服器(jenkins裡面可以調腳本),然後從分發伺服器往下分發到業務伺服器上。
三、Tomcat工作模式。
筆者回答:Tomcat是一個JSP/Servlet容器。其作為Servlet容器,有三種工作模式:獨立的Servlet容器、進程內的Servlet容器和進程外的Servlet容器。
四、監控用什麼實現的。
筆者回答:現在公司的業務都跑在阿里雲上,我們首選的監控就是用阿里雲監控,阿里雲監控自帶了ECS、RDS等服務的監控模板,可結合自定義報警規則來觸發監控項。
五、你是怎麼備份數據的,包括資料庫備份。
筆者回答:在生產環境下,不管是應用數據、還是資料庫數據首先在部署的時候就會有主從架構、或者集群,這本身就是屬於數據的熱備份。
其實考慮冷備份,用專門一台伺服器做為備份伺服器,比如可以用rsync+inotify配合計劃任務來實現數據的冷備份,如果是發版的包備份,正常情況下有台發布伺服器,每次發版都會保存好發版的包。
Ⅲ mongodb 怎麼備份多個集合
單個collection備份:
mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
-h: MongoDB所在伺服器地址
-d: 需要恢復的資料庫實例
-c: 需要恢復的集合
-f: 需要導出的欄位(省略為所有欄位)
-o: 表示導出的文件名
Ⅳ Linux安裝MongoDB雙機熱備份(主從復制)
主從復製作用:數據備份、讀寫分離
雙機熱備份:部署兩個節點的MongoDB服務,配置一主一從,主節點添加數據,將自動備份到從節點上面,保證主機宕機後數據不丟失,同時可以繼續提供數據讀取服務(主服務掛掉,從服務將無法在進行寫入數據,只能提供數據讀取服務)
一主多從:部署多個節點的MongoDB服務,配置一主多從,數據也會自動備份到所有從節點上面,保證主機宕機後數據不丟失,同時可以根據從節點的優先順序進行選取新的主節點,繼續提供讀寫服務(主從關系跟服務設置的優先順序有直接關系 優先順序參數:priority 數字越大優先順序越高)
使用上面的方式,在不同伺服器上安裝並啟動MongoDB服務
將啟動時使用的配置文件mongodb.conf中添加下面的副文本集名稱配置,將許可權控制參數改為false(auth=false),然後將服務進行重新啟動即可(testrs是自定義的副本集名稱)
#使用此設置來配置復制副本集。指定一個副本集名稱作為參數,所有主機都必須有相同的名稱作為同一個副本集
replSet=testrs
然後啟動每個服務的客戶端查看當前節點為主節點還是從節點;
1). 如果服務部署在不同伺服器上,直接啟動/bin目錄下的mongo即可 命令:./ mongo
2). 如果服務部署在同一台伺服器上,使用不同埠及配置文件進行啟動的,啟動客戶端使用該命令 命令:./mongo 127.0.0.1:27018/
經過上面的一系列操作後,主從配置就完成了,接下來可以進行數據同步測試
第一步:在主庫上面切換到admin,然後進行添加數據(命令:db.testdb1.insert([{"name":"zs"}]))
在從庫上查詢該數據(命令:db.testdb1.find({name:"zs"})),會出現下面如圖的錯誤,因為從庫沒有查詢數據許可權,所以需要設置查詢許可權
設置從庫查詢許可權,使用命令:rs.secondaryOk()
然後在使用查詢命令進行查詢(命令:db.testdb1.find({name:"zs"}))就會看到如下圖的查詢結果:
如上圖所示,數據已經同步到從庫上面了,這樣雙機熱備份就已經實現了,上面的情況不包含許可權控制
上面的情況已經完成了MongoDB的主從復制功能,但是我們把許可權沒有開放,啟動時使用的配置中auth配置的值為false,說明沒有添加許可權,接下來就開放一下許可權配置;
首先需要主從之間通信的一個keyFile文件,根據官網提供的說明,這個keyfile是可以任意內容的,只要保證所有集群中的機器都擁有同樣的文件即可。
我這里將keyFile文件放到了MongoDB的bin目錄下了,使用openssl rand -base64 1024 > /usr/local/mongodb-master/bin/mongodb.key 命令生成;
然後將mongodb.key文件復制到每台從服務上面,在每台服務的啟動文件上添加 keyFile=/usr/local/mongodb-master/keyfile/mongodb.key 配置項 ,然後將auth屬性值改為true,這樣就完成了許可權配置
重啟主從兩個節點,這樣主機添加的數據,就會同步到從機上面了!!!
添加或刪除從節點參考文章:
https://blog.csdn.net/weixin_44839444/article/details/105666163
Ⅳ mongodb刪除資料庫後怎麼恢復
深圳極佳資料庫恢復中心開發的,mongodb資料庫恢復工具可以從磁碟恢復資料庫文件集合記錄。你可以網路下、
Ⅵ 如何在Ubuntu 14.04上備份,恢復及遷移MongoDB資料庫
1、冷備份與恢復——創建數據文件副本(前提要停止MongoDB伺服器)直接
MongoDB所數據都存儲數據目錄默認/data/db/(WindowsC:\data\db\)啟MongoDB用--dbpath指定我自設置數據存儲目錄
備份MongoDB數據:要簡單創建數據存儲目錄副本直接份
恢復MongoDB數據:MongoDB啟用--dbpath指定數據存儲目錄副本位置
伺服器運行情況直接風險能數據已經遭破壞種式創建數據目錄副本需要關閉MongoDB伺服器前提數據目錄存儲關閉刻數據快照伺服器重新啟前復制目錄作備份
,