Mongodb--安装
mongodb版本:5.0.5
mongodb下载地址:https://www.mongodb.com/try/download/community
1、MongoDB简介
mongodb是一个基于分布式文件存储的数据库,由C++语言编写,旨在为web应用提供可扩展的高性能数据存储解决方案。
mongodb将数据存储为一个文档,数据结构由键值(key=>value)对组成。mongodb文档类似于JSON对象,字段值可以包含其他文档,数组及文档数组。
Mongodb逻辑结构
Mongodb逻辑结构 | MySQL逻辑结构 |
---|---|
库(database) | 库(database) |
集合(collection) | 表(table) |
文档(document) | 数据行(ROW) |
2、安装
1.设置shell执行程序的资源;关闭大页内存
(当MongoDB处于频繁访问的状态时,如果shell启动进程所占用的资源设置过低的话,将会产生错误导致无法连接到MongoDB实例)
vim /etc/security/limits.conf * - nofile 65535 * - nproc 65535
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
2.创建用户,目录结构并设置权限
useradd -s /sbin/nologin -M -r mongodb mkdir -p /data/mongodb/{bin,conf,log,data} chown -R mongodb:mongodb /data/mongodb
3.解压,设置命令
tar xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz cp -a mongodb-linux-x86_64-rhel70-5.0.5/bin/* /data/mongodb/bin/ ln -s /data/mongodb/bin/* /usr/local/sbin/
4.启动,关闭
4.1 使用命令启动(常用启动参数后文介绍)
#启动 mongod --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongodb.log --port=27017 --logappend --fork #关闭(谨慎操作) mongod --shutdown --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongodb.log --port=27017 --logappend --fork
4.2 创建配置文件(也支持yaml格式),可指定配置文件进行启停mongodb
vim /data/mongodb/conf/mongodb.conf dbpath = /data/mongodb/data logpath = /data/mongodb/log/mongodb.log logappend = true port = 27017 fork = true #auth = true
bind_ip = 0.0.0.0
storage: dbPath: "/data/mongodb/data" journal: enabled: true systemLog: destination: file logAppend: true path: "/data/mongodb/log/mongodb.log" processManagement: fork: true net: port: 27017 security: authorization: enabled
#启动 mongod -f /data/mongodb/conf/mongodb.conf #关闭 mongod -f /data/mongodb/conf/mongodb.conf.bak --shutdown
5.登录
#直接登录(默认无用户名与密码)
mongo
6.常用启动参数
参数 | 说明 |
--quiet | 安静输出 |
--port | 指定服务端口号,默认端口27017 |
--bind_ip | 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP;绑定0.0.0.0,则可远程连接 |
--logpath | 指定MongoDB日志文件,注意是指定文件不是目录 |
--logappend | 使用追加的方式写日志 |
--pidfilepath | PID File 的完整路径,如果没有设置,则没有PID文件 |
--keyFile | 集群的私钥的完整路径,只对于Replica Set 架构有效 |
--unixSocketPrefix | UNIX域套接字替代目录,(默认为 /tmp) |
--fork | 以守护进程的方式运行MongoDB,创建服务器进程 |
--auth | 启用验证 |
--cpu | 定期显示CPU的CPU利用率和iowait |
--dbpath | 指定数据库路径 |
--diaglog | diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads |
--directoryperdb | 设置每个数据库将被保存在一个单独的目录 |
--journal | 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里 |
--journalOptions | 启用日志诊断选项 |
--ipv6 | 启用IPv6选项 |
--jsonp | 允许JSONP形式通过HTTP访问(有安全影响) |
--maxConns | 最大同时连接数 默认2000 |
--noauth | 不启用验证 |
--nohttpinterface | 关闭http接口,默认关闭27018端口访问 |
--noprealloc | 禁用数据文件预分配(往往影响性能) |
--noscripting | 禁用脚本引擎 |
--notablescan | 不允许表扫描 |
--nounixsocket | 禁用Unix套接字监听 |
--nssize arg (=16) | 设置信数据库.ns文件大小(MB) |
--objcheck | 在收到客户数据,检查的有效性, |
--profile | 档案参数 0=off 1=slow, 2=all |
--quota | 限制每个数据库的文件数,设置默认为8 |
--quotaFiles | number of files allower per db, requires --quota |
--rest | 开启简单的rest API |
--repair | 修复所有数据库run repair on all dbs |
--repairpath | 修复库生成的文件的目录,默认为目录名称dbpath |
--slowms arg (=100) | value of slow for profile and console log |
--smallfiles | 使用较小的默认文件 |
--syncdelay arg (=60) | 数据写入磁盘的时间秒数(0=never,不推荐) |
--sysinfo | 打印一些诊断系统信息 |
--shutdown | 关闭数据库 |
--upgrade | 如果需要升级数据库 |