Linux安装mongodb社区版

news2024/9/23 5:29:09

1、下载资源

Download MongoDB Community Server | MongoDB

 2、将下载的安装包上传到服务器上,并解压缩

#解压
tar -zxvf mongodb-linux-x86_64-rhel70-6.0.3.tgz 

#移动路径重命名
 mv mongodb-linux-x86_64-rhel70-6.0.3 /usr/local/mongodb

3、进入  /usr/local/mongodb目录创建log data conf 文件夹

#切换路径
cd /usr/local/mongodb/

#创建文件夹
mkdir log conf data

4、进入/usr/local/mongodb/log路径创建mongod.log文件

touch mongod.log

5、进入/usr/local/mongodb/conf目录下创建配置文件

vim mongod.conf

mongod.conf内容如下

# 日志输出文件路径
systemLog:
  destination: file
  logAppend: true
  path: /usr/local/mongodb/log/mongod.log
 
# 数据库路径
storage:
  dbPath: /usr/local/mongodb/data
  journal:
    enabled: true
#  engine:
#  wiredTiger:
# how the process runs
processManagement:
  fork: true  # 开启守护进程
  pidFilePath: /usr/local/mongodb/data/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo
 
# network interfaces
net:
  port: 27017    #端口号
  bindIp: 0.0.0.0  # 允许远程访问,如果为127.0.0.1则只能本地访问
 
security:
 authorization: enabled   #开启认证
#校验文件格式
vim -b mongod.conf 

#如果有 ^M 执行如下命令格式化
sed -i 's/\r//g' mongod.conf

 6、配置环境变量

#编辑
vim /etc/profile

#添加变量
export PATH=$PATH:/usr/local/mongodb/bin

#使配置生效
source /etc/profile

#查看环境变量是否生效
echo $PATH

7、启动mongodb

# 启动服务
mongod --config /usr/local/mongodb/conf/mongod.conf

# 关闭服务
mongod --config /usr/local/mongodb/conf/mongod.conf --shutdown

# 或者
killall mongod

#检查是否启动成功
netstat -lanp | grep "27017"

#如果报找不到命令的错误 执行以下命令安装

netstat -lanp|grep 27017

8、设置成linux服务

vim /etc/rc.d/init.d/mongod

添加如下内容 

start() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongod.conf
}

stop() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongod.conf --shutdown
}
case "$1" in
  start)
 start
 ;;

stop)
 stop
 ;;

restart)
 stop
 start
 ;;
  *)
 echo
$"Usage: $0 {start|stop|restart}"
 exit 1
esac
授权
# 更改权限
chmod +x /etc/rc.d/init.d/mongod

# 启动服务
service mongod start

# 关闭服务
service mongod stop

9、安装shell工具

由于高版本的mongodb去掉了自带的shell工具

下载地址 https://downloads.mongodb.com/compass/mongosh-1.6.0-linux-x64.tgz

网盘自取

链接:https://pan.baidu.com/s/1PvY8M_6arTUPyKxwCjRGeg?pwd=azem 
提取码:azem 

9.1 、上传到服务器并解压缩

#解压缩
tar -zxvf mongosh-1.6.0-linux-x64.tgz 

#移动文件
mv mongosh-1.6.0-linux-x64 /usr/local/mongosh

9.2、启动mongosh

/usr/local/mongosh/bin/mongosh

#使用临时token连接

/usr/local/mongosh/bin/mongosh --awsIamSessionToken

#使用账号密码登录

/usr/local/mongosh/bin/mongosh -u root -p 123456

10、shell简单使用

 创建用户

#创建用户
use admin;

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

db.createUser({user: 'admin', pwd: '123456', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]});

 使用账号密码登录

 Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。

 简单指令的使用

use test_user                                 #创建数据库
db.myuser.insertOne({ name: 'tom', age:18 })  #插入数据
show dbs                                      #显示数据库
show collections                              #显示集合
db.myuser.find();                              #查询
db.myuser.find().pretty();
db.myuser.find( { name: 'tom' } );             #根据条件查询
db.myuser.find( { age: 18} );
db.myuser.find().limit(2);                     #分页查询
db.myuser.find().skip(0).limit(2);
db.myuser.find().skip(2).limit(2);

db.myuser.find().sort({ age: 1 });              #正序查询
db.myuser.find().sort({ age: -1 });             #倒序查询
db.myuser.find().skip(2).limit(10).sort({age:1}); #查询数据之后排序


$gt #大于

$lt #小于

$gte #大于或等于

$lte #小于或等于
db.myuser.find({ age: {$lt: 18} })              #查询年龄小于18

db.myuser.find({ $or: [ {name: 'john'},{name: 'mary'} ] });  #或
db.myuser.find({ $and: [ {name: 'john'},{age: 20} ] });      #且

#正则查询
db.myuser.find({ name: {$regex: "mar[a-z]"} });  #查询名字中下一个字母是a-z的
db.myuser.find( {"name":{$regex:"(a)"}} );       #查询名字中包含字母a的。

db.myuser.find( {age:1} ).explain(true);          #解释执行,类比MySQL的explain



db.myuser.getIndexes();                            #查看索引

db.myuser.ensureIndex( {age:1} )                   #添加索引
db.myuser.dropIndex( {age:1} )                     #删除索引,使用正则查询 索引无效

db.myuser.ensureIndex( {userid:1},{unique:true} )  #创建唯一索引



#还可以执行如下语句插入
db.myuser.insert( {age: 29} );
db.myuser.insert( {name: 'james'} );
db.myuser.insert( {'location': '北京'} );

#修改数据
db.myuser.update({ age: 29 }, {$set: { age: 30 }});                
db.myuser.update({ 'name': 'tom' }, { $set: { 'name': 'snail' } });

#删除数据

db.myuser.remove({ name: 'snail' });          #根据条件删除

db.myuser.remove( {} )                        #删除所有数据

#删除集合,类比mysql删除表
db.myuser.drop();

#删除数据库
db.dropDatabase();

#监控
db.serverStatus();                           #查看所有的监控信息
db.serverStatus().network ;                  #单独查看网络流量信息
db.serverStatus().opcounters;                #统计增、删、改、查的次数
db.serverStatus().connections;               #连接信息

参考:
 

https://blog.csdn.net/w975121565/article/details/126978303

https://blog.csdn.net/qq_23135449/article/details/127383000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/133489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

适合中学生看的英文电影

怎样利用好丰富的资源来学习英语口语呢?其实其实看什么样的剧、如何看剧都是很讲究的。一起来解锁吧。 一、选剧要学会拆解自己学习目标,选定合适的类型,各取所需。 并不是所有类型的国外影视剧都适合作为学习的素材,主要依据自身…

Python Pyecharts柱状横向动态图-全球GDP比较

程序示例精选 Python Pyecharts柱状横向动态图 如需安装运行环境或远程调试&#xff0c;见文章底部微信名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<Python Pyecharts柱状横向动态图>>编写代码&#xff0c;主要功能包括了数据导入&am…

新年新气象----2022年度总结

年度总计——2.0 今年的时间很快飞一般的速度&#xff0c;回顾自己这一年中的日子&#xff0c;不知不觉就结束了&#xff0c;今年确确实实有太多的遗憾&#xff0c;太多的失落和不如意。也让我明白要是这样&#xff0c;就不会那样的道理。 回顾自己去年所定的目标&#xff0c;不…

Spring学习笔记

没有Spring的时候我们如何进行开发的&#xff1f; 没有Spring为我们服务的&#xff0c;写代码一定是这样的 调用层&#xff1a; public static void main(String[] args) {//创建视图层对象TestController testController new TestController();//调用视图层方法testControl…

一篇深入理解MySQL索引底层数据结构与算法

索引的定义 索引是帮助MySQL高效获取数据的排好序的数据结构 索引数据结构有&#xff1a;二叉树&#xff0c;红黑树&#xff0c;Hash表&#xff0c;B-Tree&#xff0c;BTree 对于数据库表的InndB索引来说&#xff0c;底层即是BTree数据结构 B-Tree (1) 叶子节点具有相同的深…

生物化学 实验记录或传闻 简述(暂记)

今天是2023年的1月1日&#xff0c;2022年是疫情肆虐的一年&#xff0c;由于疫情的叨扰&#xff0c;我在22年的最后一个月博客更新停滞了许久&#xff0c;这同时引发了我对一些医学方面的问题的观察&#xff0c;所以我准备在“力学地球物理科学化学”专栏的生物化学部分新增一个…

opencv--颜色识别

目录 一、主要函数介绍 二、颜色识别 三、其他相关函数介绍 1. cv2.resize 2. np.array(x,dtype) 3. cv2.inRange() 4. cv2.imshow() 5.cv2. waitKey() 四、掩膜 一、主要函数介绍 通常&#xff0c;相机在RGB颜色模式下工作&#xff0c;但这种模式受到光线的影响较大&am…

2022年终总结-知识沉淀、疫情、展望未来

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61…

GIS算法

目录 简介 GIS标准简介 空间数据模型 3.1 WKT与GeoJSON 3.2 WKB格式 GIS算法三方包 简介 地理信息系统(简称GIS),以数字化的形式反映人类社会赖以生存的地球空间的现势和变迁的各种空间数据以及描述这些空间数据特征的属性,支持空间数据及其属性数据的输入/输出,存储,显…

postgresql数据库主备安装,备份还原

一.postgresql数据库安装 1.下载软件包 地址&#xff1a;PostgreSQL: File Browser 2.解压安装 [rootpostgresql u01]# tar -zxf postgresql-14.2.tar.gz安装环境 yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel op…

小说阅读 (支持txt文本文件浏览)

小说阅读2022 - 界面 2023年1月2日 更新 1、修复BUG。。。 2、优化运行。。。 3、添加了 【[阅读笔记] - 可以在章节处填写阅读笔记保存&#xff0c;程序会自动记录位置坐标&#xff0c;每次在读到本章节保存位置坐标时右上角会自动跳出提示图标&#xff0c;点击提示图标即可…

SAP FICO付款及清账

付款及清账 在SAP中&#xff0c;处理付款要达到两个效果&#xff1a; 实现会计凭证的处理&#xff1b; 实现清账&#xff08;将付款与应付账款对应核销&#xff09;&#xff1b; 可以边付边清&#xff0c;也可以先付后清。 一、付款并清账 企业的付款一般有现金付款、银行存款…

Gem5模拟器,全流程运行Chiplet-Gem5-SharedMemory-main(十)

小白入门&#xff0c;跑着个代码头都给我跑秃了&#xff0c;文档说不详细吧似乎啥都和你说了&#xff0c;说它详细吧&#xff0c;看了几遍也跑不出来。记录一下我遇到的问题&#xff1a; 目录 一、确定待执行的程序 &#xff08;1&#xff09;那些年的undefined reference &…

(3分钟速通)Visual Odometry的特征点法和直接法

光流法&#xff1a;(https://zhuanlan.zhihu.com/p/537113460) ​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; ​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; ​ 编辑切换为居中 添加图…

【免费开放源码】审批类小程序项目实战(预约历史页面)

第一节&#xff1a;什么构成了微信小程序、创建一个自己的小程序 第二节&#xff1a;微信开发者工具使用教程 第三节&#xff1a;深入了解并掌握小程序核心组件 第四节&#xff1a;初始化云函数和数据库 第五节&#xff1a;云数据库的增删改查 第六节&#xff1a;项目大纲以及制…

Vue与React分别实现登录拦截【详细例子+讲解】

文章标题一、Vue实现登录拦截1-1、 效果展示1-2 代码展示1-2-1 router.js1-2-2 store文件夹下1-2-2-1 state.js1-2-2-2 index.js1-2-2-3 mutation.js1-2-3 main.js【实现登录拦截的关键---全局路由守卫】1-2-4 pages下的login.vue1-3 总结二、 Vue项目功能简介2-1 功能2-2 查看…

基于RBAC模型的权限控制的一整套基础开发平台,前后端分离,后端django,前端 vue+ElementUI

Django-Vue-Admin 完整代码下载地址&#xff1a;基于RBAC模型的权限控制的一整套基础开发平台 &#x1f4a1; 「关于」 我们是一群热爱代码的青年&#xff0c;在这个炙热的时代下&#xff0c;我们希望静下心来通过Code带来一点我们的色彩和颜色。 因为热爱&#xff0c;所以…

TensorFlow之过拟合与欠拟合-1

1 基本概念 过度拟合&#xff08;overfit&#xff09; 创建的模型与用于该模型的训练数据之间发生过于密切的关系&#xff0c;从而引起该模型无法对新数据进行准确的预测。正则化&#xff08;Regularization&#xff09;策略可以减少过度拟合&#xff0c;或者使用大数据量、多…

考研数学660刷题记录

&#x1f422;&#x1f422; 基本概念-基本理论-基本方法 &#x1f422;&#x1f422; 660刷题记录 二轮复刷标志 ⭐&#xff1a;掌握不熟练 ⭐⭐&#xff1a;是基本方法的组合&#xff0c;但没解出来 ⭐⭐⭐&#xff1a;很难想到这种破局的手段 序号①、②&#xff1a;表示多…

【阶段一】Python快速入门02篇:数据结构-列表

本篇的思维导图: 数据结构-列表 列表的概念 列表(list)是用来存储一组有序数据元素的数据结构,元素之间用逗号分隔。列表中的数据元素应该包括在方括号中,而且列表是可变的数据类型,一旦创建了一个列表,你可以添加、删除或者搜索列表中的元素。在方括号中的数据可以是 i…