日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【MongoDB】2、安装MongoDB 2.6.1 on Unbuntu 14.04(学习流水账)

發布時間:2024/4/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【MongoDB】2、安装MongoDB 2.6.1 on Unbuntu 14.04(学习流水账) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計劃:
裝一個虛機,ubuntu吧,14.04 Trusty Tahr。
安裝MongoDB

網絡資源:
http://mirrors.aliyun.com/ubuntu-releases/14.04/ubuntu-14.04-server-amd64.iso.torrent(公網)
http://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/14.04/ubuntu-14.04-server-amd64.iso.torrent(教育網)
http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.1.tgz

虛擬機:
處理器數量1:內核數:1(多核對MongoDB幫助不大);MM 1G(RAM瓶頸應該會出現);HD 20G。?
安裝Unbuntu,用戶名:gd,密碼:cgdc。
TO小超超,服務器在1.4.3x,一起玩兒吧。

安裝指導:

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

由于Ubuntu官方APT源里的MongoDB版本比較舊,這里用MongoDB提供的APT源進行安裝。
要使用第三方源上的軟件,除了在sources.list上添加對應的源外,還要有增加相應的公鑰Key才能正確安裝軟件。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update

sudo apt-get install mongodb-org
報錯:unable to locate package
sudo apt-get install mongodb就可以,可能版本會老一點,無所謂吧。
要更新的包包括:libboost、libc、libgcc、mongodb、mongodb-clients、mongodb-dev、mongodb-server。
一共38個,下載41.5M,90多K,速度還好,可以先去看會兒書了。
下載到一半,斷了。
F!
棄用apt。
sudo apt-get install openssh-server
這個很快。
用“netstat -tlp”或“ps -e | grep ssh”確認sshd啟動。
http://www.cnblogs.com/chen1987lei/archive/2010/12/02/1894768.html
解壓后得到一堆二進制可執行文件,除了bsondump其他都是mongo打頭的。拷貝到 /usr/bin 下面。
chmod a+x?
到此,裝好。

/*
如果安裝特定版本:
apt-get install mongodb-org=2.6.1 mongodb-org-server=2.6.1 mongodb-org-shell=2.6.1 mongodb-org-mongos=2.6.1 mongodb-org-tools=2.6.1
禁用自動升級:
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

運行:
sudo /etc/init.d/mongod start
sudo /etc/init.d/mongod stop
sudo /etc/init.d/mongod restart
*/

啟動,報錯,說dbpath不存在,需要手動創建目錄。
創建了 /data/mongodb1 目錄。
啟動的時候加--dbpath。

啟動沒有報錯,但忘了 --fork方式啟動了。
還好,可以ssh連。

報錯:sda1:WRITE SAME faild.Manually zeroing.沒有修改配置,后來沒見過這個問題了。為什么呢?
數據目錄沒開寫權限?sudo啟動服務器都不行?


kill ?[pid]
use admin
db.shutdownServer()

啟動config:
啟動選項很多,每次在命令行敲麻煩死了,寫在config文件里吧。
選項包括:
--port
--fork(以守護進程方式執行)
--logpath
--config
配置文件寫法:
port = 110271
fork = true
logpath = mongodb.log

無論如何,進入Shell了。
敲help,先爽一下吧。> help? ? ? ? db.help() ? ? ? ? ? ? ? ? ? ?help on db methods
? ? ? ? db.mycoll.help() ? ? ? ? ? ? help on collection methods
? ? ? ? sh.help() ? ? ? ? ? ? ? ? ? ?sharding helpers
? ? ? ? rs.help() ? ? ? ? ? ? ? ? ? ?replica set helpers
? ? ? ? help admin ? ? ? ? ? ? ? ? ? administrative help
? ? ? ? help connect ? ? ? ? ? ? ? ? connecting to a db help
? ? ? ? help keys ? ? ? ? ? ? ? ? ? ?key shortcuts
? ? ? ? help misc ? ? ? ? ? ? ? ? ? ?misc things to know
? ? ? ? help mr ? ? ? ? ? ? ? ? ? ? ?mapreduce


? ? ? ? show dbs ? ? ? ? ? ? ? ? ? ? show database names
? ? ? ? show collections ? ? ? ? ? ? show collections in current database
? ? ? ? show users ? ? ? ? ? ? ? ? ? show users in current database
? ? ? ? show profile ? ? ? ? ? ? ? ? show most recent system.profile entries with time >= 1ms
? ? ? ? show logs ? ? ? ? ? ? ? ? ? ?show the accessible logger names
? ? ? ? show log [name] ? ? ? ? ? ? ?prints out the last segment of log in memory, 'global' is default
? ? ? ? use <db_name> ? ? ? ? ? ? ? ?set current database
? ? ? ? db.foo.find() ? ? ? ? ? ? ? ?list objects in collection foo
? ? ? ? db.foo.find( { a : 1 } ) ? ? list objects in foo where a == 1
? ? ? ? it ? ? ? ? ? ? ? ? ? ? ? ? ? result of the last line evaluated; use to further iterate
? ? ? ? DBQuery.shellBatchSize = x ? set default number of items to display on shell
? ? ? ? exit ? ? ? ? ? ? ? ? ? ? ? ? quit the mongo shell


如果是方法,敲上括號是調用,不敲括號,輸出方法原型。


客戶端Shell:
運行./mongo既可以啟動Shell對mongodb進行管理。
Shell使用Javascipt語法,可以對數據進行管理,可以對數據庫進行管理。
官網版本:http://try.mongodb.org/。 可以上手玩玩。
很簡單,沒什么可說的。




創建個數據庫吧:
>?
> use cgdc
switched to db cgdc
> show collections
> show dbs
admin ?(empty)
cgdc ? (empty)
local ?0.078GB
> db.users.help()
DBCollection help
? ? ? ? db.users.find().help() - show DBCursor help
? ? ? ? db.users.count()
? ? ? ? db.users.copyTo(newColl) - duplicates collection by copying all documents to newColl; no indexes are copied.
? ? ? ? db.users.convertToCapped(maxBytes) - calls {convertToCapped:'users', size:maxBytes}} command
? ? ? ? db.users.dataSize()
? ? ? ? db.users.distinct( key ) - e.g. db.users.distinct( 'x' )
? ? ? ? db.users.drop() drop the collection
? ? ? ? db.users.dropIndex(index) - e.g. db.users.dropIndex( "indexName" ) or db.users.dropIndex( { "indexKey" : 1 } )
? ? ? ? db.users.dropIndexes()
? ? ? ? db.users.ensureIndex(keypattern[,options]) - options is an object with these possible fields: name, unique, dropDups
? ? ? ? db.users.reIndex()
? ? ? ? db.users.find([query],[fields]) - query is an optional query filter. fields is optional set of fields to return.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? e.g. db.users.find( {x:77} , {name:1, x:1} )
? ? ? ? db.users.find(...).count()
? ? ? ? db.users.find(...).limit(n)
? ? ? ? db.users.find(...).skip(n)
? ? ? ? db.users.find(...).sort(...)
? ? ? ? db.users.findOne([query])
? ? ? ? db.users.findAndModify( { update : ... , remove : bool [, query: {}, sort: {}, 'new': false] } )
? ? ? ? db.users.getDB() get DB object associated with collection
? ? ? ? db.users.getPlanCache() get query plan cache associated with collection
? ? ? ? db.users.getIndexes()
? ? ? ? db.users.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } )
? ? ? ? db.users.insert(obj)
? ? ? ? db.users.mapReduce( mapFunction , reduceFunction , <optional params> )
? ? ? ? db.users.aggregate( [pipeline], <optional params> ) - performs an aggregation on a collection; returns a cursor
? ? ? ? db.users.remove(query)
? ? ? ? db.users.renameCollection( newName , <dropTarget> ) renames the collection.
? ? ? ? db.users.runCommand( name , <options> ) runs a db command with the given name where the first param is the collection name
? ? ? ? db.users.save(obj)
? ? ? ? db.users.stats()
? ? ? ? db.users.storageSize() - includes free space allocated to this collection
? ? ? ? db.users.totalIndexSize() - size in bytes of all the indexes
? ? ? ? db.users.totalSize() - storage allocated for all data and indexes
? ? ? ? db.users.update(query, object[, upsert_bool, multi_bool]) - instead of two flags, you can pass an object with fields: upsert, multi
? ? ? ? db.users.validate( <full> ) - SLOW
? ? ? ? db.users.getShardVersion() - only for use with sharding
? ? ? ? db.users.getShardDistribution() - prints statistics about data distribution in the cluster
? ? ? ? db.users.getSplitKeysForChunks( <maxChunkSize> ) - calculates split points over all chunks and returns splitter function
? ? ? ? db.users.getWriteConcern() - returns the write concern used for any operations on this collection, inherited from server/db if set
? ? ? ? db.users.setWriteConcern( <write concern doc> ) - sets the write concern for writes to the collection
? ? ? ? db.users.unsetWriteConcern( <write concern doc> ) - unsets the write concern for writes to the collection


> db.users.save({name:"liuhailong",hometown:"Hebei"});
WriteResult({ "nInserted" : 1 })
> show dbs;
admin ?(empty)
cgdc ? 0.078GB
local ?0.078GB
> db.cgdc.users.find()
> ;
> cgdc.users.find()
2014-05-17T03:14:37.528-0700 ReferenceError: cgdc is not defined
> db.users.find()
{ "_id" : ObjectId("5377366b70e0a3f0e2e28f91"), "name" : "liuhailong", "hometown" : "Hebei" }
>?


HOHO?

安全和權限:
use [databasename]
db.addUser(username,pwd,isReadOnly);


> use admin
switched to db admin
> db.addUser("gd","cgdc");
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "gd", "roles" : [ "root" ] }
> use cgdc
switched to db cgdc
> db.createUser("cgdc","cgdc");
2014-05-17T03:17:58.058-0700 Error: couldn't add user: no such cmd: 0 at src/mongo/shell/db.js:1004
> db.addUser("cgdc","cgdc");
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "cgdc", "roles" : [ "dbOwner" ] }
> db.createUser().help()
2014-05-17T03:19:16.032-0700 TypeError: Cannot read property 'user' of undefined at src/mongo/shell/db.js:979
> db.createUser
function (userObj, writeConcern) {
? ? var commandExisted = this._createUser(userObj, writeConcern);
? ? if (!commandExisted) {
? ? ? ? throw Error("'createUser' command not found. ?This is most likely because you are " +
? ? ? ? ? ? ? ? ? ? "talking to an old (pre v2.6) MongoDB server");
? ? }
}
> db.addUser("cgdc_readonly","cgdc",true);
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "cgdc_readonly", "roles" : [ "read" ] }
>?

--fork 運行,一定要指定logpath --

啟動服務器時,加 --auth 選項。


gd@ubuntu:~$ sudo /usr/bin/mongo?
MongoDB shell version: 2.6.1
connecting to: test
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
> show dbs
2014-05-17T03:24:14.308-0700 listDatabases failed:{
? ? ? ? "ok" : 0,
? ? ? ? "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
? ? ? ? "code" : 13
} at src/mongo/shell/mongo.js:47
>?

登錄操作:
db.auth(username,pwd)


登錄不成功,去掉--auth選項重新連。
> db.system.users.find()
{ "_id" : "admin.gd", "user" : "gd", "db" : "admin", "credentials" : { "MONGODB-CR" : "d41a08d27097c5b67823dfdd85e9494d" }, "roles" : [ { "role" : "root", "db" : "admin" } ] }
{ "_id" : "cgdc.cgdc", "user" : "cgdc", "db" : "cgdc", "credentials" : { "MONGODB-CR" : "714ab4fd93e3012475de54246a444516" }, "roles" : [ { "role" : "dbOwner", "db" : "cgdc" } ] }
{ "_id" : "cgdc.cgdc_readonly", "user" : "cgdc_readonly", "db" : "cgdc", "credentials" : { "MONGODB-CR" : "c1a9ebbe08d3d0a27a33bd0435ee86f1" }, "roles" : [ { "role" : "read", "db" : "cgdc" } ] }
>?
刪掉重來:
> db.system.users.remove();
2014-05-17T03:33:45.736-0700 remove needs a query at src/mongo/shell/collection.js:299
> db.system.users.remove({});
WriteResult({ "nRemoved" : 3 })
> db.system.users.find();
>?

刪除用戶:
db.system.users.remove({"user":username});

這次語法是這樣:
use admin
db.createUser( {
user: "admin",
pwd: "cgdc",
roles: [ {?
role: "userAdminAnyDatabase",?
db: "admin"?
} ]
}
);
db.createUser( {
user: "root",
pwd: "cgdc",
roles: [ { role: "root", db: "admin" } ]
}
);
use cgdc
db.createUser({
user: "cgdc",
pwd: "cgdc",
roles:[{
role: "dbOwner",
db: "cgdc"
}]
}
);

真難用!!
試試看

gd@ubuntu:~$ sudo /usr/bin/mongo -u admin -p
MongoDB shell version: 2.6.1
Enter password:?
connecting to: test
2014-05-17T03:43:55.825-0700 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1210
exception: login failed
gd@ubuntu:~$ sudo /usr/bin/mongo -u cgdc -p
MongoDB shell version: 2.6.1
Enter password:?
connecting to: test
2014-05-17T03:44:10.909-0700 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1210
exception: login failed
gd@ubuntu:~$ sudo /usr/bin/mongo
MongoDB shell version: 2.6.1
connecting to: test
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
> db.auth("cgdc","cgdc");
Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 }
0
>?

還是不行。
看看日志。

暈死,日志里說,test數據庫不是你想連,想連就能練。?當然啊,沒有給test加用戶。

連cgdc庫

> use cgdc
switched to db cgdc
> db.auth("cgdc","cgdc");
1
>?

遇到問題多看日志!!!




其他安全考慮:
--bindip localhost
--noscripting (禁止服務器端JavaScript執行)
--nohttpinterface
傳輸加密(SSH隧道)


先到這里吧。



轉載于:https://www.cnblogs.com/liuhailong2008/p/4055268.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的【MongoDB】2、安装MongoDB 2.6.1 on Unbuntu 14.04(学习流水账)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 无码人妻精品一区二区中文 | 偷拍亚洲视频 | 98堂 最新网名 | 香蕉视频网址 | 国产12页| 国产高清中文字幕 | 香蕉视频网站在线观看 | 国产精品女人精品久久久天天 | 91国模少妇一区二区三区 | 欧美双性人妖o0 | 国产suv精品一区二区三区 | 色眯眯网 | 波多野结衣一二三区 | h无码动漫在线观看 | 呦呦色 | 欧美亚洲韩国 | 国内毛片毛片毛片毛片 | 欧美精品小视频 | 夜色导航 | 久久男人 | 久草麻豆| 日本人体视频 | 亚洲暴爽 | japanese在线| 麻豆视频免费网站 | 亚洲精品一二三区 | www色综合| 久久综合九色综合欧美狠狠 | 久久久久久蜜桃 | 国产精品后入内射日本在线观看 | 日韩少妇一区二区三区 | av最新地址| 亚洲精品国产熟女久久久 | 中文字幕av免费在线观看 | 精品视频一区二区在线观看 | 在线免费观看亚洲视频 | 国产一级片免费观看 | 尤物av在线 | 国产精品国产三级国产普通话蜜臀 | 特黄aaaaaaa片免费视频 | 极品在线观看 | 风间ゆみ大战黑人 | 女的高潮流时喷水图片大全 | 人人人人干 | 超碰在线进入 | 国产精品一卡 | 日本簧片在线观看 | 亚洲精品福利在线 | 懂色av一区二区三区四区五区 | 91久久精品一区二区三区 | 国产区一区二区三区 | 亚洲 欧美 中文字幕 | 极品熟妇大蝴蝶20p 国产偷自拍视频 | 欧美精品一区二区视频 | ww黄色| 欧美日韩在线一区二区三区 | 欧美成人精品激情在线观看 | 午夜第一页 | 久久成人免费电影 | 欧美亚洲精品一区 | 久久久高清免费视频 | 午夜色网站 | 久久社区视频 | 婷婷在线一区 | 天天插天天色 | 日本男女激情视频 | 就操网| 波多野结衣中文字幕在线 | 奇米影视av | 亚洲乱亚洲乱妇 | 欧美伊人久久 | 诱惑の诱惑筱田优在线播放 | 国产午夜视频在线 | 草草影院在线 | 久久久久久久无码 | 午夜寂寞剧场 | 日本三级少妇 | 狠狠综合久久av一区二区 | 男生操女生逼逼 | 国产精品久久久久久久久久久久 | 欧美三级大片 | 国产女人18毛片水18精 | 日韩在线精品视频 | 中文字幕一区二区三区久久久 | 在线你懂得 | 久久精品无码人妻 | 巨大乳の揉んで乳榨り奶水 | 手机看片福利在线 | 激情综合丁香五月 | 日韩av自拍偷拍 | 小色哥网站| 精品国产一区二区三区性色 | 色国产精品| 中国丰满人妻videoshd | 超碰免费在线播放 | 欧美成人精品在线观看 | 日韩av男人天堂 | 爽妇网av | 国产成人精品久久二区二区 |