MongoDB安装和启动

2020-03-22  本文已影响0人  爱吃油果子

一、安装

# mongodb 4.2.3
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

刷新生效

source .bash_profile

cd /usr/local/mongodb/bin 
sudo mkdir -p ./data/db

二、启动

sudo mongod
cd /usr/local/mongodb/bin
sudo ./mongod

三、使用数据库

mongo

会出现版本信息:MongoDB shell version v4.2.3
终端上会一直显示一个 ‘>’ 符号,此时就可以输入mongodb的sql命令了:

# 输入命令试试
show dbs;
use admin;
db.shutdownServer();

此时http://localhost:27017连不上,服务也已停止

四、生产环境-启动方式

五、生产环境-用户权限

在生产环境是有权限的,创建/修改配置文件

# mongodb.conf

# Where to store the data.
dbpath=/data/db

# where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true

# 允许后台运行
fork=true

# 任意ip可访问
bind_ip = 0.0.0.0
# 端口号
port = 27017

# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true

# Enables periodic logging of CPU utilization and I/O wait
#cpu = true

# Turn on/off security.  Off is currently the default
#noauth = true
auth = true
use admin 
db.createUser(
    {
        user:"username",
        pwd:"password",
        roles:[{role:"root",db:"admin"}]
    }
);

附:添加用户时各个角色对应权限
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('username','password')
show dbs
# 展示集合列表
show collections
# 查询user集合汇总username为admin的1条数据
db.user.find({username:'admin'}).limit(1)
# 统计user集合的总条数
db.user.count()
# 不带账号密码数据库
mongodb://127.0.0.1:27017
# 指定账号密码数据库
mongodb://username:password@127.0.0.1:27017/admin

六、其他常见问题

# 防火墙开启状态
systemctl status firewalld
# 放行端口列表(如果没有在里面则使用后面的命令加入放行)
iptables -nL
# 防火墙放行27017即可
iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
上一篇 下一篇

猜你喜欢

热点阅读