Mongodb单机版安装

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: Mongodb单机版安装

mongdb一个NoSQL数据库,里面存储的是BSON(Binary Serialized Document Format,支持集群,高可用、可扩展。


mongdb中的一些概念

MongoDB MySQL

database database

collection table

json 二维表

不支持SQL SQL

_id 主键


创建一个普通用户xiaoniu


useradd xiaoniu


为hadoop用户添加密码:


echo 123456 | passwd --stdin xiaoniu


将bigdata添加到sudoers

echo "xiaoniu ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/xiaoniu
chmod 0440 /etc/sudoers.d/xiaoniu

解决sudo: sorry, you must have a tty to run sudo问题,在/etc/sudoer注释掉 Default requiretty 一行

sudo sed -i 's/Defaults requiretty/Defaults:xiaoniu !requiretty/' /etc/sudoers

配置mongo的yum源

sodu 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的安装和基本使用


在机器上使用xiaoniu用户登录(本地安装给你了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 xiaoniu


创建集合(表)


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: "laozhao",
pwd: "laozhao123",
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: "xiaoniu",
pwd: "123568",
roles: ["readWrite"]
}
)

使用小牛用户登录

mongo
use bike
db.auth("xiaoniu", "123568")

在database下创建collection

db.createCollection("users")
db.createCollection("bikes")

插入数据

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

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
6月前
|
NoSQL MongoDB Python
【Python】已完美解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart
【Python】已完美解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart
337 1
|
3月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
90 5
|
3月前
|
NoSQL Shell MongoDB
Mac OSX 平台安装 MongoDB
10月更文挑战第11天
29 4
|
2月前
|
存储 NoSQL 网络协议
【赵渝强老师】MongoDB的安装与访问
本文介绍了在Linux系统上安装和部署MongoDB的详细步骤,包括安装依赖包、解压安装包、配置环境变量、创建数据目录及启动服务等。文中还提供了相关命令示例和注意事项,帮助用户顺利完成MongoDB的安装与配置。
|
3月前
|
NoSQL Shell MongoDB
Windows 平台安装 MongoDB
10月更文挑战第10天
71 0
Windows 平台安装 MongoDB
|
3月前
|
存储 NoSQL MongoDB
docker安装Mongodb
这篇文章详细说明了如何使用Docker安装MongoDB,包括拉取镜像、创建并运行容器、数据持久化存储以及访问容器内的MongoDB服务的具体步骤。
315 1
|
7月前
|
NoSQL 前端开发 MongoDB
[保姆级教程]Windows安装MongoDB教程
【6月更文挑战第4天】该内容是关于MongoDB的安装包下载及安装步骤指南。首先,访问网址 <a href="https://www.mongodb.com/try" target="_blank">https://www.mongodb.com/try</a> 进入官网,选择MongoDB Community Edition(社区版)。接着,挑选合适的版本和系统平台,推荐下载zip压缩包。下载后,进行安装,依次点击“Next”同意协议,选择自定义安装路径,然后继续安装直至完成。
706 0
|
5月前
|
JavaScript NoSQL 前端开发
|
5月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 16.04上安装和保护MongoDB的方法
在Ubuntu 16.04上安装和保护MongoDB的方法
45 1
|
5月前
|
NoSQL 安全 MongoDB
用python安装mongodb
用python安装mongodb
35 0