Linux下Mongodb安装和启动配置
1.下载安装包
wget /linux/mongodb-linux-i686-1.
下载完成后解压缩压缩包
tar zxf mongodb-linux-i686-1.
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/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data –logpath=/usr/local/mongodb/logs –logappend  --auth -–port=27017" >> /etc/rc.local
4. 启动mongodb
cd到mongodb⽬录下的bin⽂件夹启动mongodb
//下⾯这个是需要权限的登录⽅式, ⽤户连接需要⽤户名和密码
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend  --auth  --port=27017 --fork
//这个是不需要密码的
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/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
-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 主复制模式
vim编辑器下载与安装--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
7.  MongoDB配置
  a 通过上⾯的MongoDB安装,我们已经将其安装成功并且启动,但是发现启动太过于⿇烦,所以需要我们⾃⼰给MongoDB配置配置⽂件,因MongoDB开发者没有配置样例,所以需要我们⾃⼰去创建并且写⼊内容
  b 在和bin⽬录同级的⽬录下⾯建⼀个f⽂件(编码格式为utf8⽆bom格式,否则会报错),作为mongodb的配置⽂件。[ps:在启动的时候会⽤到]
---f⽂件内容如下:
    f
  c 打开编辑器之后将如下图所⽰的内容写⼊到编辑器中,保证是正确的,如果你的安装地址和我的不⼀致,则需要⾃⼰修改
#数据库数据存放⽬录
dbpath=/usr/local/mongodb/data
#数据库⽇志存放⽬录
logpath=/usr/local/mongodb/logs/mongodb.log
#以追加的⽅式记录⽇志
logappend = true
#端⼝号默认为27017
port=27017
#以后台⽅式运⾏进程
fork=true
#开启⽤户认证
auth=true
#关闭http接⼝,默认关闭http端⼝访问
#nohttpinterface=true
#mongodb所绑定的ip地址
#bind_ip = 127.0.0.1
#启⽤⽇志⽂件,默认启⽤
journal=true
#这个选项可以过滤掉⼀些⽆⽤的⽇志信息,若需要调试使⽤请设置为false
quiet=true
其他配置参数含义
--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# 如果需要升级数据库
* Replicaton 参数
--------------------------------------------------------------------------------
--fastsync# 从⼀个dbpath⾥启⽤从库复制服务,该dbpath的数据库是主库的快照,可⽤于快速启⽤同步--autoresync# 如果从库与主库同步数据差得多,⾃动重新同步,
--oplogSize arg# 设置oplog的⼤⼩(MB)
* 主/从参数
--------------------------------------------------------------------------------
--master# 主库模式
--slave# 从库模式
--source arg# 从库端⼝号
--only arg# 指定单⼀的数据库复制
--slavedelay arg# 设置从库同步主库的延迟时间
* Replica set(副本集)选项:
--------------------------------------------------------------------------------
--replSet arg# 设置副本集名称
* Sharding(分⽚)选项
--------------------------------------------------------------------------------
--configsvr# 声明这是⼀个集的config服务,默认端⼝27019,默认⽬录/data/configdb
--shardsvr# 声明这是⼀个集的分⽚,默认端⼝27018
--noMoveParanoia# 关闭偏执为moveChunk数据保存
启动mongod
/
usr/local/mongodb/bin/mongod -f /usr/local/f
报错:
about to fork child process, waiting until server is ready for connections.
forked process: 2340
ERROR: child process failed, exited with error number 1
cd data
删除mongo.lock⽂件
rm mongod.lock
mongod --repair --dbpath=/usr/local/mongodb/data
完成修复后就可以启动mongodb的客户端了!
启动客户端:
/
usr/local/mongodb/bin/mongo

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。