今天我们来安装下mongodb吧,这也是数据库的一种,为了偷懒,本文就使用yum安装,毕竟yum方便,依赖包都会给安装上的,除非是单独整个db服务器才去编译安装.
系统:centos 5.9
1.安装前准备
这是针对64位系统yum源:
echo "[MongoDB]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1" | sudo tee -a /etc/yum.repos.d/mongodb.repo
这是针对32位系统yum源
echo "[MongoDB]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
gpgcheck=0
enabled=1" | sudo tee -a /etc/yum.repos.d/mongodb.repo
2.安装mongodb
yum -y install mongo-10gen mongo-10gen-server
3.配置mongodb
cat /etc/mongod.conf
# mongo.conf
#where to log
logpath=/var/log/mongo/mongod.log
logappend=true #以追加方式写入日志
# fork and run in background
fork = true
#port = 27017 #端口
dbpath=/var/lib/mongo #数据库文件保存位置
# Enables periodic logging of CPU utilization and I/O wait
#启用定期记录CPU利用率和 I/O 等待
#cpu = true
# Turn on/off security. Off is currently the default
# 是否以安全认证方式运行,默认是不认证的非安全方式
#noauth = true
#auth = true
# Verbose logging output.
# 详细记录输出
#verbose = true
# Inspect all client data for validity on receipt (useful for
# developing drivers)用于开发驱动程序时的检查客户端接收数据的有效性
#objcheck = true
# Enable db quota management 启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置
#quota = true
# 设置oplog记录等级
# Set oplogging level where n is
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#oplog = 0
# Diagnostic/debugging option 动态调试项
#nocursors = true
# Ignore query hints 忽略查询提示
#nohints = true
# 禁用http界面,默认为localhost:28017
# Disable the HTTP interface (Defaults to localhost:27018).这个端口号写的是错的
#nohttpinterface = true
# 关闭服务器端脚本,这将极大的限制功能
# Turns off server-side scripting. This will result in greatly limited
# functionality
#noscripting = true
# 关闭扫描表,任何查询将会是扫描失败
# Turns off table scans. Any query that would do a table scan fails.
#notablescan = true
# 关闭数据文件预分配
# Disable data file preallocation.
#noprealloc = true
# 为新数据库指定.ns文件的大小,单位:MB
# Specify .ns file size for new databases.
# nssize = <size>
# Accout token for Mongo monitoring server.
#mms-token = <token>
# mongo监控服务器的名称
# Server name for Mongo monitoring server.
#mms-name = <server-name>
# mongo监控服务器的ping 间隔
# Ping interval for Mongo monitoring server.
#mms-interval = <seconds>
# Replication Options 复制选项
# in replicated mongo databases, specify here whether this is a slave or master 在复制中,指定当前是从属关系
#slave = true
#source = master.example.com
# Slave only: specify a single database to replicate
#only = master.example.com
# or
#master = true
#source = slave.example.com
以上是默认的配置文件中的一些参数,更多参数可以用 mongod -h 命令来查看
[root@test ~]# mongod -h
Allowed options:
General options:
-h [ --help ] show this usage information
--version show version information
-f [ --config ] arg configuration file specifying additional options 指定启动配置文件路径
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
--quiet quieter output
--port arg specify port number 端口
--bind_ip arg comma separated list of ip addresses to listen on -
all local ips by default 绑定ip,可以多个
--maxConns arg max number of simultaneous connections 最大并发连接数
--logpath arg log file to send write to instead of stdout - has to
be a file, not directory 日志文件路径
--logappend append to logpath instead of over-writing 日志写入方式
--pidfilepath arg full path to pidfile (if not set, no pidfile is
created) pid文件路径
--keyFile arg private key for cluster authentication (only for
replica sets)集群认证私钥,仅适用于副本集
--unixSocketPrefix arg alternative directory for UNIX domain sockets
(defaults to /tmp)替代目录
--fork fork server process
--auth run with security 使用认证方式运行
--cpu periodically show cpu and iowait utilization 定期显示的CPU和IO等待利用率
--dbpath arg directory for datafiles 数据库文件路径
--diaglog arg 0=off 1=W 2=R 3=both 7=W+some reads oplog记录等级
--directoryperdb each database will be stored in a separate directory
每个数据库存储到单独目录
--journal enable journaling 记录日志,建议开启,在异常宕机时可以恢复一些数据
--journalOptions arg journal diagnostic options
--ipv6 enable IPv6 support (disabled by default)
--jsonp allow JSONP access via http (has security
implications)允许JSONP通过http访问,该方式存在安全隐患
--noauth run without security 不带安全认证的方式
--nohttpinterface disable http interface 禁用http接口
--noprealloc disable data file preallocation - will often hurt
performance 禁用数据文件的预分配,往往会损害性能
--noscripting disable scripting engine 禁用脚本引擎
--notablescan do not allow table scans 不允许表扫描
--nounixsocket disable listening on unix sockets禁止unix sockets监听
--nssize arg (=16) .ns file size (in MB) for new databases 为新数据设置.ns文件的大小
--objcheck inspect client data for validity on receipt 检查在收到客户端的数据的有效性
--profile arg 0=off 1=slow, 2=all
--quota limits each database to a certain number of files (8
default)启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置
--quotaFiles arg number of files allower per db, requires --quota
--rest turn on simple rest api 开启rest api
--repair run repair on all dbs 修复所有数据库
--repairpath arg root directory for repair files - defaults to dbpath修复文件的根目录,默
认为dbpath指定的目录
--slowms arg (=100) value of slow for profile and console log
--smallfiles use a smaller default file size
--syncdelay arg (=60) seconds between disk syncs (0=never, but not
recommended)与硬盘同步数据的时间,默认60秒,0表示不同步到硬盘(不建议)
--sysinfo print some diagnostic system information打印一些诊断系统信息
--upgrade upgrade db if needed 如果必要,将数据库文件升级到新的格式
(<=1.0到1.1+升级时所需的)
Replication options: 复制选项
--fastsync indicate that this instance is starting from a dbpath
snapshot of the repl peer 从一个dbpath快照开始同步
--autoresync automatically resync if slave data is stale 自动同步,如果从机的数据不是新的
自动同步
--oplogSize arg size limit (in MB) for op log oplog的大小
Master/slave 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从属服务器上指定要复制的
数据库
--slavedelay arg specify delay (in seconds) to be used when applying
master ops to slave 指定从主服务器上同步数据的时间间隔 单位秒
Replica set options: 副本集选项
--replSet arg arg is <setname>[/<optionalseedhostlist>]
参数:<名称>[<种子主机列表>]
Sharding options: 分片设置选项
--configsvr declare this is a config db of a cluster; default port
27019; default dir /data/configdb 声明这是一个集群的配置数据库,
默认的端口是27019 默认的路径是/data/configdb
--shardsvr declare this is a shard db of a cluster; default port
27018 声明这是集群的一个分片数据库,默认端口为27018
--noMoveParanoia turn off paranoid saving of data for moveChunk. this
is on by default for now, but default will switch
关闭偏着保存大块数据。现在它是默认的,但是会变换
5.启动mongodb
service mongod start
chkconfig mongod on
如果启动显示成功后,可以在命令行输入:
mongo
测试和操作数据库. mongodb创建数据库和配置用户方法详解