Linux安装mongodb社区版

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"

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

yum install -y net-tools

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


#使用账号密码登录

/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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熟透的蜗牛

永远满怀热爱,永远热泪盈眶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值