Linux安装MongoDB
图
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型

介绍

图

下载

官方网站下载上传到服务器或者复制连接到服务器下载

图

然后解压tar -zxvf xxx

安装

bin下创建mongo.conf文件

# 数据文件存放位置
dbpath = /usr/local/mongodb/data
# 日志文件存放位置
logpath = /usr/local/mongodb/logs/mongodb.log
# 端口
port = 27017
# 以守护程序的方式启用,即在后台运行
fork = true
# 所有IP可连接,也可以指定IP,用英文逗号分隔
bind_ip = 0.0.0.0
# 日志输出方式(写日志的模式:设置为true为追加,默认是覆盖。如果未指定此设置,启动时MongoDB的将覆盖现有的日志文件)
logappend = true
# 是否认证
auth = false

数据文件和日志文件的目录需要先创建,如

mkdir -p /usr/local/mongodb/data
mkdir -p /usr/local/mongodb/logs

启动

bin

./mongod -f mongo.conf

如果报错已存在,说明关闭时方式不错,通过kill造成,删除数据库目录的mongodb.nock

关闭

bin

# 进入mongo shell
./mongo
# 换数据库
use admin
# 关闭
db.shutdownServer()

正常关闭

图

注意:MongoDB6及之后的版本可以直接kill

开启权限

先在admin中添加一个用户

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

use sysxxx
db.createUser({user:"sysxxx",pwd:"syspwd",roles:[{role:"readWrite",db:"sysxxx"}]})

最好使用工具完成

图

如管理员数据库用户

图

如普通数据库用户

图

然后改配置中的是否开启认证,最后才关闭服务重新启动

或者yam文件配置方式,安装目录下/bin/mongod.cfg

security:
  authorization: enabled

权限解释

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

通过权限登录

use admin
db.auth("root","pwd")

用户删除

db.dropUser("name")

连接工具

Robo 3T

非正常关闭

待测试是否可用

删除MongoDb安装目录下的 mongod.lock 文件和日志文件 mongodb.log
rm -rf logs/
rm -rf /usr/local/mongodb/data/mongod.lock
mkdir -p /storage/mongodb/tmp/
 ./mongodb/bin/mongod --repair --dbpath /usr/local/mongodb/data/ --repairpath /storage/mongodb/tmp/
正常关闭
killall mongod 
启动
  ./mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/logs/mongodb.log -logappend -fork -port=28314