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