MongoDB 安装及配置

MongoDB一般安装

1.首先到官网(http://www.mongodb.org/downloads )下载合适的安装包
 安装包有zip和msi格式的,这里推荐下载zip格式的,msi的其实也就是进行了下解压缩而已,而且安装时不让选择安装路径,默认安装到C:\Program Files\MongoDB 2.6 Standard 目录,根据自己的系统选择32位或64位的

我本人电脑是win8系统64位,下载64位的zip包,下载完成后解压缩到D:\MongoDB目录

创建数据库目录D:\MongoDB\data,接下来打开命令行窗口,切换到D:\MongoDB\bin 目录执行如下命令:

其中 --dbpath是指定数据库存放目录,这里要注意有两个 "-"

mongod --dbpath D:\MongoDB\data

这是命令行窗口会打印一些启动信息,最后一行显示为如下信息时表示启动成功了

2014-04-23T10:38:48.391+0800 [initandlisten] waiting for connections on port 27017

这是在浏览器输入http://localhost:27017/可以看到显示信息为

It looks like you are trying to access MongoDB over HTTP on the native driver port.
具体截图如下:

到此mongodb算是安装完了,比想象中简单了太多哈

MongoDB安装为Windows服务

将mongodb安装为windows服务非常简单只需要在上面执行的命令行后添加 --install即可

mongod --dbpath D:\MongoDB\data --install

按照正常的剧情,应该服务就安装成功了,但是很不幸,出现下面提示

--install has to be used with --logpath

按照提示,我们需要指定log目录,所以我们创建log目录D:\MongoDB\logs 然后重新执行命令

mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend

但是提示还是没有指定日志路径,几经折腾发现这是2.6版本的一个bug,将会在下一个版本修复,然后我们有两个选择,一个选择是使用上一个版本2.4.9,另一个选择是先用2.4.9版本安装成功服务,然后在升级到2.6(肿么升级?直接用2.6版本替换掉对应2.4.9版本的文件),那我们还有其他的选择吗,答案当然是肯定的,使用sc命令创建服务,使用net start启动服务

sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log  --logappend"
net start MongoDB

MongoDB配置文件

很遗憾,官方下载的安装包里面没有默认的配置文件,若想使用配置文件只能自己建一个了,另外个人也推荐使用配置文件来管理MongoDB的配置,使用配置文件配置数据库文件、日志文件以及其它的一些配置都一目了然

解压安装包到D:\MongoDB

建立数据库目录 D:\MongoDB\data

建立日志目录 D:\MongoDB\logs

建立配置文件目录 D:\MongoDB\etc

建立配置文件 D:\MongoDB\etc\mongodb.conf

复制代码
dbpath=D:\MongoDB\data #数据库路径
logpath=D:\MongoDB\logs\mongodb.log #日志输出文件路径
logappend=true #错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
journal=true #启用日志文件,默认启用
quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号 默认为27017
复制代码

这里仅指定了几个常用项,更多详细配置请参考官方文档 http://docs.mongodb.org/manual/reference/configuration-options/

注:以上目录是博主自己建立的目录,官方并没有对配置文件路径做出规范,全凭个人喜好来决定

配置文件和相关目录建好后使用如下方式启动MongoDB

  • 普通启动
    mongod --config D:\MongoDB\etc\mongodb.conf
  • 安装为Windows服务
    注:2.6版 这种方式在win7、win8 64位版无法安装成功,其他系统未测试
    mongod --config D:\MongoDB\etc\mongodb.conf --install
  • 使用SC安装为Windows服务
    sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=D:\MongoDB\etc\mongodb.conf"

     

这里需要注意下当指定了日志文件后,无论使用配置文件指定还是在命令行指定,日志就都会输出到指定的日志文件去了,在命令行界面将看不到任何日志输出

 

附注:

  2.6版无法安装windows服务BUG链接 https://jira.mongodb.org/browse/SERVER-13515

  MongoDB官网:http://www.mongodb.org/




Linux下Mongodb安装和启动配置

1.下载安装包

wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz

下载完成后解压缩压缩包

tar zxf mongodb-linux-i686-1.8.2.tgz
2. 安装准备
将mongodb移动到/usr/local/server/mongdb文件夹
mv mongodb-linux-i686-1.8.2 /usr/local/mongodb

创建数据库文件夹与日志文件

mkdir /usr/local/mongodb/data
touch /usr/local/mongodb/logs
3. 设置开机自启动
将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动
echo "/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data –logpath=/usr/local/server/mongodb/logs –logappend  --auth –port=27017" >> /etc/rc.local
4. 启动mongodb
cd到mongodb目录下的bin文件夹启动mongodb
//下面这个是需要权限的登录方式, 用户连接需要用户名和密码
/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend  --auth  --port=27017 --fork

//这个是不需要密码的

/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend  --port=27017 --fork
5. 参数解释: --dbpath 数据库路径(数据文件)
 
复制代码
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
 
 
-h [ --help ]             show this usage information
--version                 show version information
-f [ --config ] arg       configuration file specifying additional options
--port arg                specify port number
--bind_ip arg             local ip address to bind listener - all local ips
                           bound by default
-v [ --verbose ]          be more verbose (include multiple times for more
                           verbosity e.g. -vvvvv)
--dbpath arg (=/data/db/) directory for datafiles    指定数据存放目录
--quiet                   quieter output   静默模式
--logpath arg             file to send all output to instead of stdout   指定日志存放目录
--logappend               appnd to logpath instead of over-writing 指定日志是以追加还是以覆盖的方式写入日志文件
--fork                    fork server process   以创建子进程的方式运行
--cpu                     periodically show cpu and iowait utilization 周期性的显示cpu和io的使用情况
--noauth                  run without security 无认证模式运行
--auth                    run with security 认证模式运行
--objcheck                inspect client data for validity on receipt 检查客户端输入数据的有效性检查
--quota                   enable db quota management   开始数据库配额的管理
--quotaFiles arg          number of files allower per db, requires --quota 规定每个数据库允许的文件数
--appsrvpath arg          root directory for the babble app server 
--nocursors               diagnostic/debugging option 调试诊断选项
--nohints                 ignore query hints 忽略查询命中率
--nohttpinterface         disable http interface 关闭http接口,默认是28017
--noscripting             disable scripting engine 关闭脚本引擎
--noprealloc              disable data file preallocation 关闭数据库文件大小预分配
--smallfiles              use a smaller default file size 使用较小的默认文件大小
--nssize arg (=16)        .ns file size (in MB) for new databases 新数据库ns文件的默认大小
--diaglog arg             0=off 1=W 2=R 3=both 7=W+some reads 提供的方式,是只读,只写,还是读写都行,还是主要写+部分的读模式
--sysinfo                 print some diagnostic system information 打印系统诊断信息
--upgrade                 upgrade db if needed 如果需要就更新数据库
--repair                  run repair on all dbs 修复所有的数据库
--notablescan             do not allow table scans 不运行表扫描
--syncdelay arg (=60)     seconds between disk syncs (0 for never) 系统同步刷新磁盘的时间,默认是60s
 
Replication options:
--master              master mode 主复制模式
--slave               slave mode 从复制模式
--source arg          when slave: specify master as <server:port> 当为从时,指定主的地址和端口
--only arg            when slave: specify a single database to replicate 当为从时,指定需要从主复制的单一库
--pairwith arg        address of server to pair with
--arbiter arg         address of arbiter server 仲裁服务器,在主主中和pair中用到
--autoresync          automatically resync if slave data is stale 自动同步从的数据
--oplogSize arg       size limit (in MB) for op log 指定操作日志的大小
--opIdMem arg         size limit (in bytes) for in memory storage of op ids指定存储操作日志的内存大小
 
Sharding options:
--configsvr           declare this is a config db of a cluster 指定shard中的配置服务器
--shardsvr            declare this is a shard db of a cluster 指定shard服务器
复制代码
 
6. 进入数据库的CLI管理界面
cd到mongodb目录下的bin文件夹,执行命令./mongo
运行如下:
[root@namenode mongodb]# ./bin/mongo
MongoDB shell version: 1.8.2
connecting to: test
> use test;
switched to db test
 
若数据库出现如不能连上,则是一个data目录下的mongod.lock文件的问题,可以用如下的修复的命令,
mongod --repair






posted @ 2018-03-12 16:38  蓝天浔  阅读(7514)  评论(0编辑  收藏  举报