MongoDB源码安装

MongoDB源码安装

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功

系统:CentOS-7.5

软件:MongoDB-3.6.10

地址:10.0.0.20

创建工作目录:
mkdir /home/tools && cd /home/tools
下载MongoDB软件包:
wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.10.tgz
永久关闭大页内存:
vim /etc/rc.local
if test -f  /sys/kernel/mm/transparent_hugepage/enabled;then
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag;then
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
临时关闭大页内存:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
调整系统打开文件数:
#系统最大打开文件句柄疏数量
echo "* - nofile 65535" >> /etc/security/limits.conf
#系统最大打开进程数量,默认4096
echo "* - noproc 65535" >> /etc/security/limits.conf
创建用户:(官方建议用普通用户管理MongoDB)
groupadd -g 800 mongod && useradd -u 800 -g mongod mongod
创建mongodb目录:
mkdir -p /mongodb/{bin,conf,log,data}
解压软件并拷贝文件:
tar xf mongodb-linux-x86_64-rhel70-3.6.10.tgz
cp mongodb-linux-x86_64-rhel70-3.6.10/bin/* /mongodb/bin
chown -R mongod.mongod /mongodb/
添加环境变量:
su - mongod
加入以下环境变量:
vim ~/.bash_profile
export PATH=/mongodb/bin:$PATH
source ~/.bash_profile
启动MongoDB:
mongod --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb.log --port=27017 --logappend --fork

参数解释#指定MongoDB数据目录 --dbpath=/mongodb/data #指定MongoDB日志存放位置 --logpath=/mongodb/log/mongodb.log #指定MongoDB监听端口 --port=27017 #指定日志为追加形式记录(默认是覆盖重定向) --logappend #后台运行MongoDB --fork

连接MongoDB:
mongo(连接会有警告,只打开了文件数,进程数太低)

MongoDB shell version v3.6.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b8c9c6ed-a125-44b0-b572-a19916e967d7") }
MongoDB server version: 3.6.10
Server has startup warnings: 
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] 
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] 
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] ** WARNING: This server is bound to localhost.
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] **          Remote systems will be unable to connect to this server. 
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] **          Start the server with --bind_ip <address> to specify which IP 
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] **          addresses it should serve responses from, or with --bind_ip_all to
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] **          bind to all interfaces. If this behavior is desired, start the
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] **          server with --bind_ip 127.0.0.1 to disable this warning.
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] 
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] 
2019-02-25T04:54:38.479+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files.

#退出连接
exit
关闭MongoDB:
mongod -f /mongodb/conf/mongodb.conf --shutdown
添加MongoDB配置文件:
vim /mongodb/conf/mongodb.conf
systemLog:
   destination: file
   path: "/mongodb/log/mongodb.log"
   logAppend: true  
storage:
   journal:
      enabled: true
   dbPath: "/mongodb/data"
processManagement:
   fork: true
net:
   bindIp: 10.0.0.20
   port: 27017
关闭MongoDB:
mongod -f /mongodb/conf/mongodb.conf --shutdown
配置systemd管理:
vim /lib/systemd/system/mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
User=mongod
Type=forking
ExecStart=/mongodb/bin/mongod -f /mongodb/conf/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/mongodb/bin/mongod -f /mongodb/conf/mongodb.conf --shutdown
PrivateTmp=true

[Install]
WantedBy=multi-user.target
启动:
systemctl daemon-reload
systemctl start mongodb.service
systemctl enable mongodb.service
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正在输入中…………

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值