Mongodb单机版安装
发布日期:2021-06-28 14:04:05 浏览次数:3 分类:技术文章

本文共 2894 字,大约阅读时间需要 9 分钟。

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=
gpgcheck=1
enabled=1
gpgkey=

关闭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

转载地址:https://blog.csdn.net/wyn_365/article/details/107315695 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java创建线程的几种方式
下一篇:如何搭建Redis集群?

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月26日 11时19分36秒