xupan003_monggoyum 安装可以配置本地源vim /etc/yum.conf keepcache=0改为keepcache=1yum 下载好的rpm包在/var/cache/yum/x86_64/6/mongodb-org-3.4/packagesyum 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 --logappendnetstat -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 bikedb.createCollection("bike") //c创建collection 相当于tabledb.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.tgz2,解压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 copymkdir /usr/local/mongodb/data mkdir /usr/local/mongodb/log 二,启动1,命令带多参数启动[plain] view plain copymongod --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 copyvi /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+c2,登录数据库执行: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 主键----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#创建一个普通用户mongouseradd mongo#为hadoop用户添加密码:echo mongo | passwd --stdin mongo#将bigdata添加到sudoersecho "mongo ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/mongochmod 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 Repositorybaseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.4/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc#关闭selinuxvi /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地址#启动mongosudo service mongod start#连接到mongo#如果注释掉了bindIp,那么连接时用mongo#指定了ip地址mongo --host 192.168.100.101 --port 27017#使用或创建databaseuse 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这个databaseuse 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 databaseuse admin#授权登录db.auth("admin", "admin123")#创建一个bike数据库use bike#添加一个普通用户,具备读写权限db.createUser( { user: "xp", pwd: "xp", roles: ["readWrite"] })#使用小牛用户登录mongouse bikedb.auth("xp", "xp")#在database下创建collectiondb.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:#重启mongodbservice mongod restart数据库用户角色:read、readWrite;数据库管理角色:dbAdmin、dbOwner、userAdmin;集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;备份恢复角色:backup、restore;所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase超级用户角色:root// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)内部角色:__system