標籤:恢複 match admin opera connect ODB 命令 日誌 ons
MongoDB 啟動多執行個體 和 MongoDB建立刪除、備份、複製在單台伺服器資源充足的情況下啟用多執行個體建立資料和日誌存放位置
# 資料存放位置[[email protected] ~] mkdir -p /data/mongodb/mongodb1#日誌存放位置[[email protected] ~] mkdir /data/logs[[email protected] ~] touch /data/logs/mongodb1.log
複製mongodb的設定檔
#複製原有的設定檔重新命名為mongod1.conf[[email protected] ~] cp /etc/mongod.conf /etc/mongod.conf#修改設定檔[[email protected] ~] vim /etc/mongod1.confsystemLog: destination: file logAppend: true path: /data/mongodb/logs/mongodb1.log #修改日誌儲存位置 storage: dbPath: /data/mongodb/mongodb1 #修改資料檔案存放位置 net: port: 27018 #修改連接埠號碼
重新啟動mongod1.conf
[[email protected] ~] mongod -f /etc/mongod1.confabout to fork child process, waiting until server is ready for connections.forked process: 7142child process started successfully, parent exiting#進入多執行個體資料庫[[email protected] mongodb1]# mongo --port 27018MongoDB shell version v3.6.6connecting to: mongodb://127.0.0.1:27018/MongoDB server version: 3.6.6Welcome to the MongoDB shell.For interactive help, type "help".For more comprehensive documentation, see http://docs.mongodb.org/Questions? Try the support group http://groups.google.com/group/mongodb-userServer has startup warnings: 2018-07-16T16:59:47.637+0800 I CONTROL [initandlisten] 2018-07-16T16:59:47.637+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.2018-07-16T16:59:47.637+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.2018-07-16T16:59:47.637+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.2018-07-16T16:59:47.637+0800 I CONTROL [initandlisten] 2018-07-16T16:59:47.638+0800 I CONTROL [initandlisten] 2018-07-16T16:59:47.638+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always‘.2018-07-16T16:59:47.638+0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never‘2018-07-16T16:59:47.638+0800 I CONTROL [initandlisten] 2018-07-16T16:59:47.638+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always‘.2018-07-16T16:59:47.638+0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never‘2018-07-16T16:59:47.638+0800 I CONTROL [initandlisten] > # MongDB關閉命令[[email protected] ~]# mongod -f /etc/mongod.conf --shutdown
多執行個體就建立好了每個多執行個體都是單獨分開的MongoDB的儲存結構MongoDB邏輯儲存結構
MongoDB的邏輯結構主要有文檔、集合、和資料庫三那個部分組成。其中文檔儲存是MongoDB的核心概念,它是邏輯儲存的最小單元,選購黨羽關係型資料庫中一行的記錄
1:資料庫MongoDB可以建立多個資料庫。MongoDB的預設資料庫是test,該資料庫儲存在資料檔案要顯示它需要向資料庫插入一些資料
> show dbs; #查看資料庫命令,裡面是預設的資料庫admin 0.000GBconfig 0.000GBlocal 0.000GB> use shcool; #建立資料庫直接use進入在裡面建立集合,# 輸入資料會自動產生資料庫switched to db shcool> db.createCollection(‘info1‘) #建立資料集合{ "ok" : 1 }> show collections #查看資料集合info1> show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GBshcool 0.000GB
在幾何中插入資料命令db.建立的集合.insert({"joect格式"})固有格式
> db.info1.insert ({"name":"zhangsa","id":2,"hobb":"jap"}) WriteResult({ "nInserted" : 1 })
查詢集合裡面的資料命令
> db.info1.find() { "_id" : ObjectId("5b4d46223ee32e205a4122c2"), "name" : "zhangsa", "id" : 2, "hobb" : "jap" }
迴圈建立資料
> for (var i=2;i<50;i++)db.info1.insert({"id":i,"name":"jccp"+i})WriteResult({ "nInserted" : 1 })# 查看建立的資訊> db.info1.find(){ "_id" : ObjectId("5b4d46223ee32e205a4122c2"), "name" : "zhangsa", "id" : 2, "hobb" : "jap" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122c3"), "id" : 2, "name" : "jccp2" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122c4"), "id" : 3, "name" : "jccp3" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122c5"), "id" : 4, "name" : "jccp4" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122c6"), "id" : 5, "name" : "jccp5" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122c7"), "id" : 6, "name" : "jccp6" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122c8"), "id" : 7, "name" : "jccp7" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122c9"), "id" : 8, "name" : "jccp8" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122ca"), "id" : 9, "name" : "jccp9" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122cb"), "id" : 10, "name" : "jccp10" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122cc"), "id" : 11, "name" : "jccp11" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122cd"), "id" : 12, "name" : "jccp12" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122ce"), "id" : 13, "name" : "jccp13" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122cf"), "id" : 14, "name" : "jccp14" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122d0"), "id" : 15, "name" : "jccp15" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122d1"), "id" : 16, "name" : "jccp16" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122d2"), "id" : 17, "name" : "jccp17" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122d3"), "id" : 18, "name" : "jccp18" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122d4"), "id" : 19, "name" : "jccp19" }{ "_id" : ObjectId("5b4d48ee3ee32e205a4122d5"), "id" : 20, "name" : "jccp20" }Type "it" for more #(輸入it往下查看)
尋找某個指定的資料
> db.info1.find({"id":10}){ "_id" : ObjectId("5b4d48ee3ee32e205a4122cb"), "id" : 10, "name" : "jccp10" }
修改把第十行的jccp10改為tom
> db.info1.update({"id":10},{$set:{"name":"tom"}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.info1.find({"id":10}){ "_id" : ObjectId("5b4d48ee3ee32e205a4122cb"), "id" : 10, "name" : "tom" }
刪除(集合,資料庫)
> db.info1.drop()true> db.info1.find()> db.shcool.databaseshcool.shcool.database> show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GB>
備份資料庫下面是我建立的school資料庫,集合裡面也有資訊,把他們備份匯出
> use shcool;switched to db shcool> db.createCollection(‘info1‘){ "ok" : 1 }> for (var i=2;i<50;i++)db.info1.insert({"id":i,"name":"jccp"+i})WriteResult({ "nInserted" : 1 })> db.info1.find(){ "_id" : ObjectId("5b4d4bf03ee32e205a4122f3"), "id" : 2, "name" : "jccp2" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122f4"), "id" : 3, "name" : "jccp3" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122f5"), "id" : 4, "name" : "jccp4" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122f6"), "id" : 5, "name" : "jccp5" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122f7"), "id" : 6, "name" : "jccp6" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122f8"), "id" : 7, "name" : "jccp7" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122f9"), "id" : 8, "name" : "jccp8" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122fa"), "id" : 9, "name" : "jccp9" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122fb"), "id" : 10, "name" : "jccp10" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122fc"), "id" : 11, "name" : "jccp11" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122fd"), "id" : 12, "name" : "jccp12" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122fe"), "id" : 13, "name" : "jccp13" }{ "_id" : ObjectId("5b4d4bf03ee32e205a4122ff"), "id" : 14, "name" : "jccp14" }{ "_id" : ObjectId("5b4d4bf03ee32e205a412300"), "id" : 15, "name" : "jccp15" }{ "_id" : ObjectId("5b4d4bf03ee32e205a412301"), "id" : 16, "name" : "jccp16" }{ "_id" : ObjectId("5b4d4bf03ee32e205a412302"), "id" : 17, "name" : "jccp17" }{ "_id" : ObjectId("5b4d4bf03ee32e205a412303"), "id" : 18, "name" : "jccp18" }{ "_id" : ObjectId("5b4d4bf03ee32e205a412304"), "id" : 19, "name" : "jccp19" }{ "_id" : ObjectId("5b4d4bf03ee32e205a412305"), "id" : 20, "name" : "jccp20" }{ "_id" : ObjectId("5b4d4bf03ee32e205a412306"), "id" : 21, "name" : "jccp21" }Type "it" for more# 匯出[[email protected] ~]# mongoexport -d school -c info1 -o /opt/school.json2018-07-17T09:55:16.306+0800 connected to: localhost2018-07-17T09:55:16.306+0800 exported 0 records[[email protected] ~]# cd /opt/[[email protected] opt]# lsrh school.json# 恢複重新命名[[email protected] opt]# mongoimport -d kfc -c info --file /opt/school.json -h 0.0.0.0:270182018-07-17T09:57:02.564+0800 connected to: localhost2018-07-17T09:57:02.564+0800 imported 0 documents# 匯入那個多執行個體加入-h ip:連接埠號碼[[email protected] opt]# mongoimport -d school -c info1 --file /opt/school1.json -h 0.0.0.0:270182018-07-17T10:27:58.921+0800 connected to: 0.0.0.0:270182018-07-17T10:27:58.925+0800 num failures: 482018-07-17T10:27:58.925+0800 error inserting documents: multiple errors in bulk operation: - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9914‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9915‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9916‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9917‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9918‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9919‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a991a‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a991b‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a991c‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a991d‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a991e‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a991f‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9920‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9921‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9922‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9923‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9924‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9925‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9926‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9927‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9928‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9929‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a992a‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a992b‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a992c‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a992d‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a992e‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a992f‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9930‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9931‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9932‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9933‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9934‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9935‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9936‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9937‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9938‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9939‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a993a‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a993b‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a993c‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a993d‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a993e‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a993f‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9940‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9941‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9942‘) } - E11000 duplicate key error collection: school.info1 index: _id_ dup key: { : ObjectId(‘5b4d53622211edb9633a9943‘) }
匯入指定一行或者一個範圍
# 把school資料庫中yo的集合中的id為10的資訊匯入到/opt/裡面命名為school-top10.json[[email protected] opt]# mongoexport -d school -c yo -q ‘{"id":{"$eq":10}}‘ -o /opt/school-top10.json2018-07-17T10:57:38.100+0800 connected to: localhost2018-07-17T10:57:38.101+0800 exported 1 record[[email protected] opt]# lsschool-top10.json[[email protected] opt]# cat school-top10.json {"_id":{"$oid":"5b4d5aa9e2d41b39e5e9cbec"},"id":10.0,"name":"ject10"}[[email protected] opt]#
備份恢複建立空目錄檔案夾
[[email protected] opt]# mongodump -d school -o /backup/2018-07-17T11:01:07.474+0800 writing school.yo to 2018-07-17T11:01:07.475+0800 done dumping school.yo (19 documents)[[email protected] opt]# lsschool-top10.json[[email protected] opt]# ls /backup boot dev home lib64 mnt proc run srv tmp varbin data etc lib media opt root sbin sys usr[[email protected] opt]# cd /bbackup/ bin/ boot/ [[email protected] opt]# cd /backup/[[email protected] backup]# lsschool[[email protected] backup]# cd school/[[email protected] school]# lsyo.bson yo.metadata.json[[email protected] school]#
還原
[[email protected] school]# mongorestore -d school2 --dir=/backup/school/2018-07-17T11:03:31.614+0800 the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead2018-07-17T11:03:31.614+0800 building a list of collections to restore from /backup/school dir2018-07-17T11:03:31.615+0800 reading metadata for school2.yo from /backup/school/yo.metadata.json2018-07-17T11:03:31.621+0800 restoring school2.yo from /backup/school/yo.bson2018-07-17T11:03:31.624+0800 no indexes to restore2018-07-17T11:03:31.624+0800 finished restoring school2.yo (19 documents)2018-07-17T11:03:31.624+0800 done[[email protected] school]# mongoMongoDB shell version v3.6.6connecting to: mongodb://127.0.0.1:27017MongoDB server version: 3.6.6Server has startup warnings: 2018-07-17T10:45:19.749+0800 I CONTROL [initandlisten] 2018-07-17T10:45:19.749+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] 2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] 2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always‘.2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never‘2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] 2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always‘.2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never‘2018-07-17T10:45:19.750+0800 I CONTROL [initandlisten] > show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GBschool 0.000GBschool2 0.000GB>
複製資料庫
> db.copyDatabase("school","school8"){ "ok" : 1 }> show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GBschool 0.000GBschool2 0.000GBschool8 0.000GB
MongoDB 啟動多執行個體 和 MongoDB建立刪除、備份、複製