Linux系统下MongoDB的安装与配置

快速安装教程

一键安装MongoDB数据库

使用wget命令在线一键安装MongoDB数据库,并配置密码123456。

1
2
注意:不要在 / 目录下运行
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --db_option 15 --dbinstallmethod 1 --dbrootpwd 123456 --reboot

安装时间较长,请耐心等待。

如果没有找到wget命令,就使用下列命令安装wget:

1
yum -y install wget
验证超级管理员账户

重新进入服务器后,在窗口中输入 mongo ,进入数据库。

输入 db ,默认是在test数据库下,输入 use admin ,进入 admin 数据库。然后再输入*db.auth(‘root’,’123456’)*,返回1表示验证成功。注意:这个账户密码就是刚刚安装数据库时设置的。

创建新数据库并配置

输入use newDatabase,进入新的数据库,然后输入

1
db.createUser({user: "username", pwd: "password", roles: [{ role: "dbOwner", db: "newDatabase" }]})

username和password分别对应自己设定的账户和密码,db后的集合名一定要和use的名称一致。每创建一个数据库都要进行授权,否则无法访问。

MongoDB参数配置

进入到/usr/local/mongodb文件夹,创建data、log目录和mongo.conf文件,用来存储数据及日志文件,其中log目录下创建mongodb.log文件。mongodb.conf文件内用vim写入下列命令:

1
2
3
4
5
6
7
8
9
10
11
port=27017 #端口
dbpath= /programs/mongodb/data #数据库存文件存放目录
logpath= /programs/mongodb/log/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
auth=true #启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
手动启动命令
1
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork
开机自启动

输入下列命令便可以直接在/etc/rc.local文件中写入mongodb services用于开机自启动:

1
echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log -logappend --auth --port=27017" >> /etc/rc.local

配置参数含义

–quiet 安静输出
–port arg 指定服务端口号,默认端口27017
–bind_ip arg 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
–logpath arg 指定MongoDB日志文件,注意是指定文件不是目录
–logappend 使用追加的方式写日志
–pidfilepath arg PID File 的完整路径,如果没有设置,则没有PID文件
–keyFile arg 集群的私钥的完整路径,只对于Replica Set 架构有效
–unixSocketPrefix arg UNIX域套接字替代目录,(默认为 /tmp)
–fork 以守护进程的方式运行MongoDB,创建服务器进程
–auth 启用验证
–cpu 定期显示CPU的CPU利用率和iowait
–dbpath arg 指定数据库路径
–diaglog arg diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads
–directoryperdb 设置每个数据库将被保存在一个单独的目录
–journal 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里
–journalOptions arg 启用日志诊断选项
–ipv6 启用IPv6选项
–jsonp 允许JSONP形式通过HTTP访问(有安全影响)
–maxConns arg 最大同时连接数 默认2000
–noauth 不启用验证
–nohttpinterface 关闭http接口,默认关闭27018端口访问
–noprealloc 禁用数据文件预分配(往往影响性能)
–noscripting 禁用脚本引擎
–notablescan 不允许表扫描
–nounixsocket 禁用Unix套接字监听
–nssize arg (=16) 设置信数据库.ns文件大小(MB)
–objcheck 在收到客户数据,检查的有效性,
–profile arg 档案参数 0=off 1=slow, 2=all
–quota 限制每个数据库的文件数,设置默认为8
–quotaFiles arg number of files allower per db, requires –quota
–rest 开启简单的rest API
–repair 修复所有数据库run repair on all dbs
–repairpath arg 修复库生成的文件的目录,默认为目录名称dbpath
–slowms arg (=100) value of slow for profile and console log
–smallfiles 使用较小的默认文件
–syncdelay arg (=60) 数据写入磁盘的时间秒数(0=never,不推荐)
–sysinfo 打印一些诊断系统信息
–upgrade 如果需要升级数据库