CentOS 安装 mongodb

转:https://www.cnblogs.com/saryli/p/9822819.html

1、下载安装包

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.12.tgz

2、解压

tar -zxvf mongodb-linux-x86_64-4.0.12.tgz

3、移动到指定位置

mv mongodb-linux-x86_64-4.2.12/ /usr/local/mongodb

4、在/usr/local/mongodb下创建文件夹

mkdir -p /data/dbmkdir /logs

5、在/usr/local/mongodb/bin下新建配置

vi mongodb.conf
#数据文件存放目录
dbpath = /usr/local/mongodb/data/db 
#日志文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#http访问控制(centos下会此项设置无效:注释掉这个配置或者下载企业评估版)
nohttpinterface = true
auth= true
bind_ip=0.0.0.0

6、环境变量配置

vi /etc/profile
export MONGODB_HOME=/usr/local/mongodb export PATH=$PATH:$MONGODB_HOME/bin

保存后,重启系统配置

source /etc/profile

7、启动
在/usr/local/mongodb/bin下

3mongod -f mongodb.conf 
或
./mongod -f mongodb.conf

8、关闭

#进入控制台
# mongo
> use admin
> db.shutdownServer()
# 命令行
mongod --shutdown
或
./mongod --shutdown

9、开启端口

firewall-cmd --zone=public --add-port=27017/tcp --permanent

查看端口

firewall-cmd --permanent --query-port=27017/tcp

重启防火墙

firewall-cmd --reload

10、创建用户

进入客户端

./mongo

创建用户管理员:

#使用admin数据库
use admin
#创建用户,并分配权限
db.createUser({user:"root",pwd:"root123456",roles:["userAdminAnyDatabase"]})
#给root添加system表的权限
db.grantRolesToUser("root",[{role:"__system",db:"admin"}])
#验证并切换到root用户
db.auth('root','root123456')

以用户管理员身份登录,并切换数据库,创建数据库用户:
切换到test数据库

use test

创建用户名、密码、角色

db.createUser({user:"username",pwd:"@user123456*",roles:[{role:"readWrite",db:"securitydata"}]})

设置mongodb配置中的auth为true(/etc/mongod.conf):

security:authorization: enabled

验证mongodb数据库权限。

db.auth('user','@user123456*')

查看所有用户信息

db.system.users.find()

删除用户

use admin
#验证并切换到root用户
db.auth('root','root123456')
db.system.users.remove({user:"haha"})
db.system.users.find()

11. 非正常关闭修复

# no any other options,不保存损坏数据
$ mongod --repair
# 数据文件路径下包含修复的文件和一个空的mongo.lock文件
$ mongod --dbpath /data/db --repair
# 使用MMAPv1存储引擎还可以指定 --repairpath作为临时的

官方修复文档

发表评论

电子邮件地址不会被公开。 必填项已用*标注