1、概述
1.1、目的
规范Mongodb数据库安装及参数配置,形成统一的数据库部署格式,达到Mongodb数据库安装及其维护工作的标准化,规范化,自动化。
1.2、环境
操作系统: Linux(RHEL,CentOS)
数据库版本: MongoDB官方社区4.0.9
1.3、注意事项
文中以>开头,表示在数据库中的操作。
文中以$开头,表示在mongodb用户下的操作。
操作文中以#开头,表示需要root权限操作。
2、系统
操作系统参数调整:
参数类型 | 注释 | 修改方法 |
IO | 调整IO调度规则 | # cat <<EOF >>/etc/rc.local echo deadline >/sys/block/sdb/queue/scheduler EOF Centos 7.2中sdb改为sda |
IO | 禁用交换区 | # echo "vm.swappiness=0" >>/etc/sysctl.conf # sysctl –p |
内核 | 关闭numa | 方法一:硬件层,在BIOS中设置关闭,联系系统管理员。 方法二:操作系统启动时关闭,步骤如下(centOS 7): 1.#vim /etc/grub2.cfg 2.在第一个UTF-8后添加numa=off 3.在第二个quiet后添加numa=off |
文件系统 | 文件数进程数限制 | #cat >>/etc/security/limits.conf <<EOF * soft nproc 65535 * hard nproc 65535 * soft nofile 65536 * hard nofile 65536 EOF |
文件系统 | 文件挂载系统 | # mount -o remount -o noatime -o nodiratime /data |
网络 | 禁用iptables | # systemctl stop iptables.service |
网络 | 禁用iv6 | # echo "net.ipv6.conf.all.disable_ipv6 =1" >>/etc/sysctl.conf # sysctl –p |
3、下载安装
3.1、安装
操作步骤:
创建用户:
#groupadd mongodb #useradd -g mongodb -m mongodb |
![](https://i-blog.csdnimg.cn/blog_migrate/319daea1df93787e5730c9042f84209b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7b472a5879ffaf05ac073ef45e5fba6a.png)
软件部署:
# 1.下载 从官网下载指定版本 $ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz 或提前下载好安装包mongodb-linux-x86_64-4.0.9.tgz # 2.解压 $ tar -zxvf mongodb-linux-x86_64-4.0.9.tgz |
![](https://i-blog.csdnimg.cn/blog_migrate/9206171ba102123f75e247d210f2baff.png)
改名,放到指定目录:/usr/local
$ mv mongodb-linux-x86_64-4.0.9 /usr/local/mongodb |
新建必要的文件夹(依次存放:数据库文件,日志文件,配置文件)
$ cd /usr/local/mongodb $ mkdir data $ mkdir log $ mkdir etc |
![](https://i-blog.csdnimg.cn/blog_migrate/614d50759b2725424e1d5c66db334501.png)
添加系统路径
$ vi /etc/profile $ export PATH=$PATH:/usr/local/mongodb/bin |
![](https://i-blog.csdnimg.cn/blog_migrate/6dbe60ec333076ad3e1b170dd8c3bf8d.png)
配置生效
$ source /etc/profile 查看是否添加成功 $ echo $PATH |
![](https://i-blog.csdnimg.cn/blog_migrate/25ec8f07f0e5167b3a85fbe45386bb91.png)
或者做软连接
$ ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo |
![](https://i-blog.csdnimg.cn/blog_migrate/c470cee55f582e7abbe188eb95550a74.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ae3145630cf838e703a1de0bf8c625e8.png)
3.2、编写配置文件
配置文件编写基础内容
$ vi etc/mongodb.conf # db存放的目录 dbpath=/usr/local/mongodb/data
# 后台启动需要配置日志输出 logpath=/usr/local/mongodb/log/mongodb.log
# 端口(根据业务情况进行填写) port=27017 bind_ip = 127.0.0.1
# 设置成后台启动(根据业务情况进行填写) fork=true journal=false
|
3.3、启动关闭
启动关闭方式
# 启动服务 $ mongod --config /usr/local/mongodb/etc/mongodb.conf # 关闭服务 $ mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown # 或者 $ killall mongod |
4、外网访问和权限
4.1、添加用户
# 本地连接 $ mongo
# 查看数据库 > show dbs
#切换到admin库 > use admin switched to db admin
#创建超级管理员 > db.createUser({user: "账户名",pwd: "密码",roles: [ { role: "root", db: "admin" } ]});
#创建普通用户 > db.createUser({user: "账户名",pwd: "密码",roles: [ { role: "readWrite", db: "admin" } ]});
# 查看已有用户 > show users
|
4.2、配置文件补充
$ vi /usr/local/mongodb/etc/mongodb.conf
# 登录验证(根据业务情况进行填写) auth=true
# 外网访问(根据业务情况进行填写) bind_ip = 0.0.0.0
#不同版本可能配置不一样 # mongod -v #db version v4.0.26 # 登录验证 # security: # authorization: enabled
|
4.3、验证启动
# 本地连接 - 连接时验证 $ mongo -u username -p password
# 远程连接 - 连接时验证 $ mongo 127.0.0.1/admin -u username -p password
# 远程连接 - 连接后验证 $ mongo 127.0.0.1/admin
> use admin switched to db admin
> db.auth("username", "password") |
5、设置开机启动
编写启动关闭脚本
$ vi /etc/rc.d/init.d/mongod.sh |
内容如下,(注意使用绝对路径)
#/bin/bash start() { /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf }
stop() { /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown } case "$1" in start) start ;;
stop) stop ;;
restart) stop start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac |
授权启用
# 更改权限 # chmod +x /etc/rc.d/init.d/mongod.sh
# 启动服务 $ sh mongod.sh start
# 关闭服务 $ sh mongod.sh stop |