irpas技术客

Linux 安装MongoDB数据库及命令使用_30岁老阿姨_linux 连接mongodb数据库命令

未知 2474

从0学习mongodb4运维与开发-学习视频教程-腾讯课堂https://ke.qq.com/course/3854528?saleToken=2635699&from=pclink 一、linux安装MongoDB:安装MongoDB社区版

1、下载MongoDB Community Server

下载地址:MongoDB Community Download | MongoDB

?2、环境准备:linux系统: centos7

#下载MongoDB wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.9.tgz tar -zxvf mongodb-linux-x86_64-rhel70-4.4.9.tgz

启动MongoDB Server

#创建dbpath和logpath

mkdir -p /mongodb/data /mongodb/log

#进入mongodb目录,启动mongodb服务

bin/mongod --port=27017 --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb.log \ --bind_ip=0.0.0.0 --fork

--dbpath :指定数据文件存放目录

--logpath :指定日志文件,注意是指定文件不是目录

--logappend :使用追加的方式记录日志

--port:指定端口,默认为27017

--bind_ip:默认只监听localhost网卡

--fork: 后台启动

--auth: 开启认证模式

启动成功

添加环境变量

修改/etc/profile,添加环境变量,方便执行MongoDB命令

export MONGODB_HOME=/usr/local/soft/mongodb

PATH=$PATH:$MONGODB_HOME/bin

然后执行source /etc/profile 重新加载环境变量

利用配置文件启动服务

编辑/mongodb/conf/mongo.conf文件,内容如下:注意:一定要yaml格式

systemLog: destination: file path: /mongodb/log/mongod.log # log path logAppend: true storage: dbPath: /mongodb/data # data directory engine: wiredTiger #存储引擎 journal: #是否启用journal日志 enabled: true net: bindIp: 0.0.0.0 port: 27017 # port processManagement: fork: true 启动mongod(-f 选项表示将使用配置文件启动mongodb)

mongod -f /mongodb/conf/mongo.conf

关闭MongoDB服务

方式1:

mongod --port=27017 --dbpath=/mongodb/data --shutdown

?方式2:

进入mongo shell

use admin

db.shutdownServer()

二、Mongo shell 使用

mongo是MongoDB的交互式JavaScript Shell界面,它为系统管理员提供了强大的界面,并为开发人员提供了直接测试数据库查询和操作的方法。

bin/mongo --port=27017

bin/mongo localhost:27017

--port:指定端口,默认为27017

--host:连接的主机地址,默认127.0.0.1

JavaScript支持

mongo shell是基于JavaScript语法的,MongoDB使用了SpiderMonkey作为其内部的JavaScript解释器引擎,这是由Mozilla官方提供的JavaScript内核解释器,该解释器也被同样用于大名鼎鼎的Firefox浏览器产品之中。SpiderMonkey对ECMA Script标准兼容性非常好,可以支持ECMA Script 6。可以通过下面的命令检查JavaScript解释器的版本:

mongo shell常用命令

命令

说明

show dbs | show databases

显示数据库列表

use 数据库名

切换数据库,如果不存在创建数据库

db.dropDatabase()

删除数据库

show collections | show tables

显示当前数据库的集合列表

db.集合名.stats()

查看集合详情

db.集合名.drop()

删除集合

show users

显示当前数据库的用户列表

show roles

显示当前数据库的角色列表

show profile

显示最近发生的操作

load("xxx.js")

执行一个JavaScript脚本文件

exit | quit()

退出当前shell

help

查看mongodb支持哪些命令

db.help()

查询当前数据库支持的方法

db.集合名.help()

显示集合的帮助信息

db.version()

查看数据库版本

数据库操作

#查看所有库

show dbs

# 切换到指定数据库,不存在则创建

use test

# 删除当前数据库

db.dropDatabase()

集合操作

#查看集合

show collections

#创建集合

db.createCollection("emp")

#删除集合

db.emp.drop()

创建集合语法

db.createCollection(name, options)

options参数(注意: 当集合不存在时,向集合中插入文档也会创建集合)

字段

类型

描述

capped

布尔

(可选)如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。

size

数值

(可选)为固定集合指定一个最大值(以字节计)。

如果 capped 为 true,也需要指定该字段。

max

数值

(可选)指定固定集合中包含文档的最大数量。

三、 安全认证

创建管理员账号

# 设置管理员用户名密码需要切换到admin库 use admin #创建管理员 db.createUser({user:"fox",pwd:"fox",roles:["root"]}) # 查看当前数据库所有用户信息 show users #显示可设置权限 show roles #显示所有用户 db.system.users.find()

?常用权限

权限名

描述

read

允许用户读取指定数据库

readWrite

允许用户读写指定数据库

dbAdmin

允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

dbOwner

允许用户在指定数据库中执行任意操作,增、删、改、查等

userAdmin

允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户

clusterAdmin

只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限

readAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限

root

只在admin数据库中可用。超级账号,超级权限

重新赋予用户操作权限

db.grantRolesToUser( "fox" , [ { role: "clusterAdmin", db: "admin" } , { role: "userAdminAnyDatabase", db: "admin"}, { role: "userAdminAnyDatabase", db: "admin"}, { role: "readWriteAnyDatabase", db: "admin"} ]) 删除用户 db.dropUser("fox") #删除当前数据库所有用户 db.dropAllUser() 用户认证,返回1表示认证成功

?创建应用数据库用户 use appdb db.createUser({user:"appdb",pwd:"fox",roles:["dbOwner"]}) 默认情况下,MongoDB不会启用鉴权,以鉴权模式启动MongoDB

mongod -f /mongodb/conf/mongo.conf --auth 启用鉴权之后,连接MongoDB的相关操作都需要提供身份认证。

mongo 192.168.65.174:27017 -u fox -p fox --authenticationDatabase=admin

从0学习mongodb4运维与开发-学习视频教程-腾讯课堂https://ke.qq.com/course/3854528?saleToken=2635699&from=pclink???????


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Linux #连接mongodb数据库命令