一、简介
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
二、Linux平台安装MongoDB
1. 下载(https://www.mongodb.com/download-center/community)
2. 解压并重命名
tar -zxvf mongodb-linux-x86_64-4.0.17.gz
mv mongodb-linux-x86_64-4.0.17 mongodb
3. 移动到指定目录
mv mongodb /usr/local/
4. 将MongoDB的可执行文件添加到PATH下
export PATH=/usr/local/mongodb/bin:$PATH
5. 创建数据存储目录,默认在/data/db下
mkdir -p /usr/local/mongodb/data/db
6. 创建日志目录
mkdir -p /usr/local/mongodb/logs
7. 创建配置文件
vim /usr/local/mongodb/mongodb.conf
配置文件内容
#!/bin/bash
port=27017 //默认服务器端口号
dbpath=/usr/local/mongodb/data/db //数据存储目录
logpath=/usr/local/mongodb/logs/mongodb.log //日志文件
pidfilepath=/usr/local/mongodb/mongo.pid
logappend=true //使用追加的方式写日志
fork=true //后台运行
maxConns=5000 //最大同时连接数,默认2000
storageEngine=mmapv1 //指定存储引擎为内存映射文件
bind_ip=0.0.0.0 //可以访问的地址. 127.0.0.1表示自己访问, 0.0.0.0 表示所有人都能访问
#auth=true
8. 添加MongoDB为开机启动
vim /etc/rc.d/rc.local
配置文件内容
/usr/local/mongodb/bin/mongod --config /var/mongodb/mongodb.conf
9. 启动MongoDB服务(需进入安装目录的bin中执行)
nohup /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf &
10. 进入后台管理shell(需进入安装目录的bin中执行)
/usr/local/mongodb/bin/mongo
11. 配置用户权限
- 使用admin库
use admin
- 创建root全局账户,并授权
db.createUser({
user: "root",
pwd: "root",
roles:[{
"role":"userAdminAnyDatabase","db":"admin"
}]
})
- 删除用户
db.dropUser('test')
- 创建测试库:test
use test
- 创建test用户
db.createUser({
user: "test",
pwd: "test",
roles:[{
"role":"dbOwner","db":"test"
}]
})
- 开启配置文件中的auth = true选项
vim /usr/local/mongodb/mongodb.conf
port=27017 //默认服务器端口号
dbpath=/usr/local/mongodb/data/db //数据存储目录
logpath=/usr/local/mongodb/logs/mongodb.log //日志文件
pidfilepath=/usr/local/mongodb/mongo.pid
logappend=true //使用追加的方式写日志
fork=true //后台运行
maxConns=5000 //最大同时连接数,默认2000
storageEngine=mmapv1 //指定存储引擎为内存映射文件
bind_ip=0.0.0.0 //可以访问的地址. 127.0.0.1表示自己访问, 0.0.0.0 表示所有人都能访问
auth=true
12. 重启MongoDB服务(需进入安装目录的bin中执行)
-- 停止mongo服务
pkill mongod
-- 启动mongo服务
nohup /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf &
- 查看27017的进程
netstat -lanp |grep 27017
三、连接
1. 本地连接
- 无认证启动连接
/usr/local/mongodb/bin/mongo
- 带认证连接
/usr/local/mongodb/bin/mongo -u test -p test test --authenticationDatabase test
2. 远程连接
3. 客户端配置连接
略