介绍
下载
到官方网站下载上传到服务器或者复制连接到服务器下载
然后解压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
权限解释
- 数据库用户角色:read、readWrite;
- 数据库管理角色:dbAdmin、dbOwner、userAdmin;
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
- 备份恢复角色:backup、restore;
- 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 超级用户角色:root
通过权限登录
use admin
db.auth("root","pwd")
用户删除
db.dropUser("name")
连接工具
非正常关闭
待测试是否可用
删除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