xupan003_monggo yum 安裝能夠配置本地源 vim /etc/yum.conf keepcache=0改成keepcache=1 yum 下載好的rpm包在/var/cache/yum/x86_64/6/mongodb-org-3.4/packages yum localinstall mongodb-org 或則 rpm -ivh *.rpm ============================================================== bin/mongod --port 27017 --fork -dbpath=/usr/local/devtools/mongdb/mongodb/db/ --logpath=/usr/local/devtools/mongdb/mongodb/logs/mongodb.log --logappend netstat -lanp | grep "27017" #查看MongoDB是否啓動 cd /usr/local/mongodb/bin/ ./bin/mongo --host xupan003 --port 27017 || ./mongo #進入MongoDB數據庫控制檯 use admin #進入admin數據庫 db.shutdownServer() #關閉MongoDB數據庫 exit #退出 use bike //建立database bike db.createCollection("bike") //c建立collection 至關於table db.bike.insert("_id":1,"status" : 1,"desc":"test") //insert data db.bike.find(); //查找 { "_id" : 1, "status" : 1, "desc" : "test" } ===================================================================== 一,安裝 1,官網下載系統對應的源碼包 mongodb-linux-x86_64-rhel62-3.2.0.tgz 2,解壓 tar zxvf mongodb-linux-x86_64-rhel62-3.2.0.tgz 3,設置環境變量,/etc/profile中添加mongodb的bin路徑 export PATH=$PATH:/usr/local/mongodb/bin source /etc/profile 4,建立數據目錄和日誌目錄(mongodb沒有安裝文件,也不會生成任何文件夾,須要建立數據目錄和日誌目錄) [plain] view plain copy mkdir /usr/local/mongodb/data mkdir /usr/local/mongodb/log 二,啓動 1,命令帶多參數啓動 [plain] view plain copy mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork --journal --logappend 參數 --dbpath:數據目錄 --logpath:日誌文件夾路徑 --fork:後臺運行,或者「&」 --journal:write ahead logging --logappend: 對存在的日誌追加,若是沒有這個選項,新日誌將會覆蓋舊的日誌 2,命令帶配置文件啓動 (1) 新建配置文件 [plain] view plain copy vi /etc/mongodb.conf dbpath=/usr/local/mongodb/data logpath=/usr/local/mongodb/log/mongodb.log port=27071 fork=true journal=true (2)啓動 mongod -f /etc/mongodb.conf 參數 -f:配置文件 3,登陸 (1) 默認端口號登陸 mongo (2) 指定端口號登陸 mongo 192.168.1.1:27001 三,關閉 1,非後臺運行時,關閉對話,或者ctrl+c 2,登陸數據庫執行:db.shutdownServer(); 3,帶數據目錄,關閉服務器,安全 mongod --shutdown --dbpath /database/mongodb/data/ 配置文件 ./bin/mongod --repair mongdb一個NoSQL數據庫,裏面存儲的是BSON(Binary Serialized Document Format,支持集羣,高可用、可擴展。 mongdb中的一些概念 MongoDB MySQL database database collection table json 二維表 不支持SQL SQL _id 主鍵 ----------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------- #建立一個普通用戶mongo useradd mongo #爲hadoop用戶添加密碼: echo mongo | passwd --stdin mongo #將bigdata添加到sudoers echo "mongo ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/mongo chmod 0440 /etc/sudoers.d/mongo #解決sudo: sorry, you must have a tty to run sudo問題,在/etc/sudoer註釋掉 Default requiretty 一行 sudo sed -i 's/Defaults requiretty/Defaults:mongo !requiretty/' /etc/sudoers #配置mongo的yum源 sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc #關閉selinux vi /etc/sysconfig/selinux SELINUX=disabled #從新啓動 reboot ------------------------------------------------------------------------------------------------ ###mongo的安裝和基本使用### ------------------------------------------------------------------------------------------------ #在機器上使用mongo用戶登陸(本地安裝給你了rpm包,rpm -ivh *.rpm) sudo yum install -y mongodb-org #修改mongo的配置文件 sudo vi /etc/mongod.conf #註釋掉bindIp或者修改爲當前機器的某一個ip地址 #啓動mongo sudo service mongod start #鏈接到mongo #若是註釋掉了bindIp,那麼鏈接時用 mongo #指定了ip地址 mongo --host 192.168.100.101 --port 27017 #使用或建立database use bike #建立集合(表) db.createCollection("bike") #插入數據 db.bike.insert({"_id": 100001, "status": 1, "desc": "test"}) db.bike.insert({"_id": 100002, "status": 1, "desc": "test"}) #查找數據(全部) db.bine.find() #退出 exit #關閉mongo服務 sudu service mongod stop #設置服務開機啓動 sudo checkconfig mongod on #設置mongo服務開機不啓動 sudo chkconfig mongod off ------------------------------------------------------------------------------------------------ ###mongo安全認證配置### #若是修改了mongo存儲是的目錄那麼必定要修改該目錄的所屬用戶和組爲mongod #chown -R mongod:mongod /mongo/ ------------------------------------------------------------------------------------------------ #添加管理員用戶 #使用admin這個database use admin #在沒有開啓認證的狀況下,建立一個超級用戶 db.createUser( { user: "mongo", pwd: "mongo", roles: [ {role: "root", db: "admin" }] } ) #修改mongo的配置文件/etc/mongod.conf,配置mongo的安全認證 security: authorization: enabled #重啓mongo服務 service mongod restart #從新使用mongo shell鏈接 mongo #使用admin database use admin #受權登陸 db.auth("admin", "admin123") #建立一個bike數據庫 use bike #添加一個普通用戶,具有讀寫權限 db.createUser( { user: "xp", pwd: "xp", roles: ["readWrite"] } ) #使用小牛用戶登陸 mongo use bike db.auth("xp", "xp") #在database下建立collection db.createCollection("users") db.createCollection("bikes") db.createCollection("logs") #插入數據 db.users.insert( { name: "laozhao", age: 30 } ) #查找 db.users.find() db.users.update({'name':'laozhao'},{$set:{'age': 18}},{multi:true}) db.users.remove({'name': 'laoduan'}) db.users.remove({'name': 'laoduan'}, 1) db.users.find({"name":"laoduan", "fv": 99.99}) #查看當前db的索引 db.logs.getIndexes() #建立索引 db.logs.ensureIndex({"name":1}) #刪除索引 db.logs.dropIndex({"name":1}) #開啓運行用戶從其餘機器鏈接mongodb #否則會報錯Caused by: java.net.ConnectException: Connection refused (Connection refused) #修改/etc/mongod.conf,註釋掉bindIp: # bindIp: #重啓mongodb service mongod restart 數據庫用戶角色:read、readWrite; 數據庫管理角色:dbAdmin、dbOwner、userAdmin; 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 備份恢復角色:backup、restore; 全部數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 超級用戶角色:root // 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase) 內部角色:__system