MongoDB-Install

MongDB安装安装

官网:https://www.mongodb.com/
中文官网:https://www.mongodb.org.cn/

操作系统环境:CentOS7.6
MongDB版本:MongDB-4.4.1
MongDB安装目录:/mongdb

1、安装编译安装所需依赖包

yum -y groupinstall "Development tools"
yum -y install openssl openssl-devel

2、关闭大页内存

mkdir /etc/tuned/virtual-guest-no-thp
vim /etc/tuned/virtual-guest-no-thp/tuned.conf

[main]
include=virtual-guest
[vm]
transparent_hugepages=never


官方大页内存文档:https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/

3、查看大页内存是否已经关闭

cat /sys/kernel/mm/transparent_hugepage/enabled

4、设置内核参数,关闭NUMA

echo 0 >/proc/sys/vm/zone_reclaim_mode 
sysctl -w vm.zone_reclaim_mode=0


5、解压安装包(该安装包,是解压后直接能用)

tar -vxf mongodb-linux-x86_64-rhel70-4.4.1.tgz

6、将压缩包放到指定目录

mv mongodb-linux-x86_64-rhel70-4.4.1 /mongodb

7、创建mongodb用户

useradd mongodb

8、配置mongodb环境变量.bash_profile文件

MongoDB_Home=/mongodb
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$MongoDB_Home:/bin
export PATH

9、将mongodb用户授予权限

chown -R  mongodb:mongodb /mongodb/

10、使用mongodb用户创建数据库配置文件目录、数据文件目录、日志文件目录

mkdir -p /mongodb/conf
mkdir  -p /mongodb/data/mongodb1 
mkdir -p /mongodb/log/mongodb1
touch /mongodb/log/mongodb1/mongodb1.log

11、修改/etc/security/limits.conf

mongodb                hard       nofile          65535
mongodb                soft       nofile          65535
mongodb                soft       nproc           65535
mongodb                hard       nproc           65535

12、查看limits是否已经更改完成(使用mongodb用户)

13、创建MongDB配置文件,定义启动所需相关参数

官方配置文档参考:https://docs.mongodb.com/manual/administration/configuration/

以下是我的配置文档

processManagement:   
    fork: true
net:   
    bindIp: 0.0.0.0   
    port: 27017
security:  
    authorization: enabled
storage:   
    dbPath: /mongodb/data/mongodb1
systemLog:   
    destination: file   
    path: "/mongodb/log/mongodb1/mongodb1.log"   
    logAppend: true
storage:   
    journal:      
    enabled: true

配置文件说明

fork: true                        表示使用后台进程
bindIp: 0.0.0.0                   表示所有IP地址都能访问,这个可以配置多个地址段使用英文逗号隔开
dbPath:                           表示数据存储的路径

14、使用mongodb用户启动mongodb

mongod -f  /mongodb/conf/mongodb1.conf



解决方法,删除/tmp目录下的套接字文件。

15、关闭mongodb

mongod -f /mongodb/conf/mongodb1.conf –shutdown

16、若要让别的服务器能够访问还得打开mongodb的防火墙

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

17、使用mongo客户端,创建userAdminAnyDatabase权限用户(该权限为账号管理员角色)

mongo --host 127.0.0.1 -port 27017

use admin db.createUser(
    {
        user:"admin",
        pwd:"admin",
        roles:[{role:"userAdminAnyDatabase",db:"admin"}]
    }
)



以下数据库权限角色说明

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限

18、auth验证,查看数据库信息

db.auth("admin","admin")


19、授予admin用户test库权限

db.grantRolesToUser("admin",[{role:"readWrite",db:"test"}])

20、创建一个test测试库,并创建collection

use test

21、创建collection,并插入数据,查询结果

db.createCollection(“user”)

db.user.insert({“name”:”mongodb”})

db.user.find();

22、授予admin用户mongodb数据库超级管理员权限

db.grantRolesToUser("admin",[{role:"root",db:"admin"}]);

23、拥有超级管理员的用户可以在mongo客户端关闭数据库

db.shutdownServer();

Contents
  1. 1. MongDB安装安装
    1. 1.1. 1、安装编译安装所需依赖包
    2. 1.2. 2、关闭大页内存
    3. 1.3. 3、查看大页内存是否已经关闭
    4. 1.4. 4、设置内核参数,关闭NUMA
    5. 1.5. 5、解压安装包(该安装包,是解压后直接能用)
    6. 1.6. 6、将压缩包放到指定目录
    7. 1.7. 7、创建mongodb用户
    8. 1.8. 8、配置mongodb环境变量.bash_profile文件
    9. 1.9. 9、将mongodb用户授予权限
    10. 1.10. 10、使用mongodb用户创建数据库配置文件目录、数据文件目录、日志文件目录
    11. 1.11. 11、修改/etc/security/limits.conf
    12. 1.12. 12、查看limits是否已经更改完成(使用mongodb用户)
    13. 1.13. 13、创建MongDB配置文件,定义启动所需相关参数
    14. 1.14. 14、使用mongodb用户启动mongodb
    15. 1.15. 15、关闭mongodb
    16. 1.16. 16、若要让别的服务器能够访问还得打开mongodb的防火墙
    17. 1.17. 17、使用mongo客户端,创建userAdminAnyDatabase权限用户(该权限为账号管理员角色)
    18. 1.18. 18、auth验证,查看数据库信息
    19. 1.19. 19、授予admin用户test库权限
    20. 1.20. 20、创建一个test测试库,并创建collection
    21. 1.21. 21、创建collection,并插入数据,查询结果
    22. 1.22. 22、授予admin用户mongodb数据库超级管理员权限
    23. 1.23. 23、拥有超级管理员的用户可以在mongo客户端关闭数据库
|