1、下载
进入mongodb官方页面选择适合自己的版本。
执行下载命令:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.4.7.tgz
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1804-4.0.13.tgz
2、创建mongodb安装目录以及日志目录
# mongodb安装目录
mkdir /data/mongodb
# mongodb日志目录
mkdir /var/log/mongodb
3、创建mongodb配置文件
vim /etc/mongodb.conf
配置文件详情
具体如何使用配置,大家更具自己情况而定
#数据库安装位置
dbpath=/data/mongodb
#日志存储位置
logpath=/var/log/mongodb/mongodb.log
#是否不覆盖原日志
logappend=true
#是否立即持久化存储
journal=true
#是否以守护进程方式运行
fork=true
#绑定使用IP
bind_ip = 127.0.0.1
#绑定端口默认27017
#port = 27017
#是否以安全认证方式运行(即用户登录信息)
noauth = true
#auth = true
4、编译安装
-C 后面接解压位置,之前已经创建了 /data/mongodb
tar -zxvf mongodb-linux-x86_64-ubuntu1404-3.4.7.tgz -C /data/mongodb
把mongo的shell工具全部拷贝到/usr/bin/目录下,即可全局使用这些工具:
cd /data/mongodb/
cp mongodb-linux-x86_64-ubuntu1404-3.4.7/bin/* /usr/bin/
启动数据库:
# 启动服务端
mongod --config /etc/mongodb.conf
# 或者简写为
mongod -f /etc/mongodb.conf
# 结果如下:
about to fork child process, waiting until server is ready for connections.
forked process: 3850
child process started successfully, parent exiting
进入数据库:
# 进入mongo命令
mongo
# 结果如下:
>show dbs
admin 0.000GB
local 0.000GB
当然这样可还没好,为了安全别忘了配置用户哦,mongo.conf中的auth也要置为true哦
注意:
1、mongodb中内置角色:mongodb内置了很多用户角色,每个内置角色都有着自己各自的权限,我们可以通过创建、用户来继承这些角色,从而获取对数据库的操作权限。


2、自定义mongodb角色:角色可以通过命令来自定义,具体参考网址:https://www.cnblogs.com/dbabd/p/10811523.html
例如:在admin数据库中创建自定义用户dbabd,对集合city有find,update权限,对集合user_operation只有find权限。
> db.createRole(
{
role: "dbabd",
privileges: [
{ resource: { db: "dbabd", collection: "city" }, actions: ["find", "update"] },
{ resource: { db: "dbabd", collection: "user_operation" }, actions: ["find"] },
],
roles: []
}
)
或
> db.adminCommand(
{
createRole: "dbabd",
privileges: [
{ resource: { db: "dbabd", collection: "city" }, actions: ["find", "update"] },
{ resource: { db: "dbabd", collection: "user_operation" }, actions: ["find"] }
],
roles: []
}
)
3、创建超级管理员用户:
# 先切换到admin库
use admin
db.createUser(
{
user: "root",
pwd: "123",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
}
)
创建普通用户:
# 先切换到admin库
use admin
db.createUser(
{
user: "ceshi",
pwd: "123",
roles: [{ role: "readWrite", db: "newdb" }]
}
)
posted on
浙公网安备 33010602011771号