加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB在线yum源安装及基本命令详情

发布时间:2023-10-06 15:16:00 所属栏目:系统 来源:
导读:MongoDB简介

1)Mongodb属于非关系性数据库 ,数据记录以文档形式(键值对)进行存储,即bson格式

2)不再有“行”(row)的概念,其运行方式主要基于两个概念:集合(collection)与文档(docume
MongoDB简介
 
1)Mongodb属于非关系性数据库 ,数据记录以文档形式(键值对)进行存储,即bson格式
 
2)不再有“行”(row)的概念,其运行方式主要基于两个概念:集合(collection)与文档(document)
 
3)支持各种编程语言:Ruby,Python,Java,C++,PHP,C#等多种语言
 
逻辑结构对比
 
关系型:数据库------》表------------》记录,字段
 
非关系型:数据库-----------》集合----------》键值对
 
何为键值对
 
书写格式:{键值:值}  
 
键值对:如{“name”:”zhangsan”}   键值必须双引号,值如果是数值(int)可以不用双引号引起来,如果是字符串(string)必须用双引号引起来。
 
本次实验在CentOS7系统上进行实施,首先配置网络YUM源,baseurl(下载路径)指定为mongodb官网提供的yum仓库
 
vim /etc/yum.repos.d/mongodb.repo
 
[mongodb-org]
 
name=MongoDB Repository
 
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/             #指定获得下载的路径
 
gpgcheck=1                     #表示对从这个源下载的rpm包进行校验
 
enabled=1                   #表示启用这个源。
 
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
 
重新加载yum源,并使用yum命令下载安装mongodb
 
yum list
 
yum -y install mongodb-org
 
等待下载好之后,修改配置文件,指定监听IP,端口默认为27017
 
vim /etc/mongod.conf
 
..........
 
bindIp:0.0.0.0      #监听任意地址
 
port:27017         #默认监听端口
 
启动mongodb服务,并进入mongodb。
 
mongodb服务的启动,关闭有两种方式
 
(1)systemctl start mongod.service     #启动
 
        systemctl stop mongod.service      #关闭
 
(2)   mongod -f /etc/mongod.conf      #启动
 
         mongod -f /etc/mongod.conf --shutdown    #关闭
 
开启服务后,查看mongodb进程
 
netstat -antp | grep mongod
 
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      16540/mongod
 
下面主要讲解Mongodb的基本操作及语句应用,mongodb十分人性化自带Tab键补全功能
 
不需要使用密码直接使用mongo命令进入服务
 
MongoDB在线yum源安装及基本命令详解
 
查看版本信息
 
> db.version()
 
3.6.7
 
查看数据库
 
> show dbs
 
admin     0.000GB
 
config    0.000GB
 
local     0.000GB
 
myschool  0.000GB
 
school    0.000GB
 
进入数据库(如果创建集合则自动创建数据库,如果没有创建集合则数据库没有被创建),
 
> use yun
 
switched to db yun
 
创建集合;插入数据信息,并同时创建集合info
 
> db.createCollection("abc")
 
{ "ok" : 1 }
 
> db.info.insert({"id":1,"name":"jack1"})
 
WriteResult({ "nInserted" : 1 })
 
查看集合
 
> show tables
 
info
 
> show collections
 
info
 
使用循环批量添加用户
 
> for (var i=2;i<=100;i++)db.abc.insert({"id":i,"name":"jack"+i});
 
WriteResult({ "nInserted" : 1 })
 
查看集合中的所有数据
 
> db.abc.find()
 
查看单条数据
 
db.abc.findOne({"id":10})
 
{
 
"_id" : ObjectId("5b972d38fb89e57a63998a84"),
 
"id" : 10,
 
"name" : "jack10"
 
> a=db.abc.findOne({"id":10})            #把这条记录定义别名为a
 
{
 
    "_id" : ObjectId("5b9a6f39e80a2611eecb6f7b"),
 
    "id" : 10,
 
    "name" : "jack10"
 
查看类型
 
> typeof(a.id)
 
number
 
> typeof(a.name)
 
String
 
修改数据:
 
db.info.update({"id":10},{$set:{"name":"tom10"}})   格式:条件在前,修改在后
 
db.info.findOne({"id":10})
 
{
 
"_id" : ObjectId("5b972d38fb89e57a63998a84"),
 
"id" : 10,
 
"name" : "tom10"
 
聚合函数统计记录
 
db.info.count()    
 
100
 
删除集合,数据
 
db.info.remove({"id":12})    //删除数据
 
Db.info.drop()        //删除集合
 
先进入该数据库,再用下面的命令删除数据库
 
Use  school
 
db.dropDatebase()      //删除数据库
 
数据跨实例克隆集合:
 
db.runCommand({"clonecollection":"school.info","from":"192.168.195.137:27017"})
 
数据的备份与恢复,导入与导出,是在linux的shell环境进行操作
 
数据导出
 
mongoexport -d school -c info -o /opt/school.jason
 
条件导出 -q  '{"id":{"$eq":10}}'
 
mongoexport -d school -c info -q '{"id":{"$eq":10}}' -o /opt/school10.jason
 
数据导入
 
mongoimport -d school -c infos --file /opt/school.jason
 
数据库备份与恢复,都不需要额外创建数据库和目录
 
数据库备份
 
mongodump -d yunwei(库名) -o /opt(路径)
 
数据库恢复
 
mongorestore -d yunjisuan2 --dir=/opt/yunjisuan
 
授权启动
 
在mongodb中进行授权
 
> use admin
 
switched to db admin
 
> db.createUser({"user":"root","pwd":"abc123","roles":["root"]})
 
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
 
退出mongodb,修改配置文件 指定auth=true,否则授权不起作用
 
vim /etc/mongod.conf
 
auth=true
 
重启服务,再进入mongodb,只有通过授权验证才可以查看数据信息
 
vim mongodb.conf
 
> use admin
 
switched to db admin
 
> db.auth("root","abc123")
 
1
 
> show dbs
 
admin  0.078GB
 
local  0.078GB
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章