MongonDB初识及简介

mongdb

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

mongdb中的一些概念

MongoDB MySQL
database database
collection table
json 二维表
不支持SQL SQL
_id 主键

安装准备

关闭selinux

vi /etc/sysconfig/selinux 
##修改
SELINUX=disabled

重新启动

reboot

安装

#创建mongodb存储数据log的目录

mkdir -p /data/mongo
mkdir /data/mongo/{log,data}
chown -R mongod:mongod /data/

#修改mongo的配置文件

vi /etc/mongod.conf 

systemLog:
  destination: file
  logAppend: true
  path: /data/mongo/log/mongod.log

storage:
  dbPath: /data/mongo/data
  journal:
    enabled: true

net:
  port: 27017
 #bindIp: 127.0.0.1
 #注释掉bindIp或者修改成当前机器的某一个ip地址

注意:mongo的vim文件有严格的格式要求,参数在块的新的一行填写:新起一行的开头,需要两个空格隔开.如果格式有误,会报错!

启动mongo

service mongod start#如果改了mongo的默认目录,启动时会报错

连接到mongo

如果注释掉了bindIp,那么连接时用

mongo

指定了ip地址

mongo --host hdp-nn --port 27017

使用或创建database

use wwrTable

创建集合(表)

db.createCollection("bike")

插入数据

db.bike.insert({"_id": 100001, "status": 1, "desc": "test"})
db.bike.insert({"_id": 100002, "status": 2, "desc": "test"})

查找数据(所有)

db.bine.find()

退出

exit

关闭mongo服务

sudu service mongod stop

设置服务开机启动

sudo checkconfig mongod on

设置mongo服务开机不启动

sudo chkconfig mongod off

安全认证配置

如果修改了mongo存储时的目录那么一定要修改该目录的所属用户和组为mongod

chown -R mongod:mongod  /data/mongo/

添加管理员用户
1.使用admin这个database

use admin

特别注意: 1、mongodb的认证机制有2种:SCRAM-SHA-1和MONGODB-CR。3.0之后版本默认为:SCRAM-SHA-1;

2、spring-mongodb默认为:MONGODB-CR,并不支持设置认证方式;

2.查看auth认证方式

db.system.version.findOne({"_id":"authSchema"})

值为3表示:MONGODB-CR 值为5表示:SCRAM-SHA-1

3.设置为MONGODB-CR


db.system.version.insert({"_id":"authSchema","currentVersion":3})

4.在没有开启认证的情况下,创建一个超级用户

db.createUser(
     {
       user: "admin",
       pwd: "123456",
       roles: [ {role: "root", db: "admin" }]
     }
)

5.修改mongo的配置文件/etc/mongod.conf,配置mongo的安全认证

security:
  authorization: enabled

6.重启mongo服务

  service mongod restart

7.重新使用mongo shell连接

  mongo

8.使用admin database

use admin

9.授权登录

db.auth("admin", "admin123")

10.添加一个普通用户,具备读写权限

use mobike
db.createUser(
     {
       user: "wwr",
       pwd: "123456",
       roles: ["readWrite"]
     }
)

11.使用新用户登录

mongo
use mobike
db.auth(" wwr", "123456")

在database下创建collection

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

查看当前数据库所有的集合

show collections

插入数据

db.users.insert( { name: "laowang", age: 30 } )

查找

db.users.find()
db.users.update({'name':'laowang'},{$set:{'age': 18}},{multi:true})  #true 修改所有name=laowang   false :改找到的第一个叫laowang的age
db.users.remove({'name': 'laoxu'})
db.users.remove({'name': 'laoxu'}, 1)

db.users.find({"name":"laoxu", "fv": 99.99})

查看当前db的索引

db.logs.getIndexes()

创建索引

db.logs.ensureIndex({"name":1})

删除索引

db.logs.dropIndex({"name":1})

数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值