MongoDB_安装、配置、连接(五)
MongoDB 是跨平台的,既可以在 Linux系统下安装,也可以在Windows 系统、MacOS系统下安装,本节主要介绍如何在 Linux 系统下安装 MongoDB。
windows安装:http://c.biancheng.net/mongodb2/install-on-windows.html
MacOS安装:http://c.biancheng.net/mongodb2/install-on-macos.html
安装 MongoDB
下载安装包
进入MongoDB 官网(https://www.mongodb.com/try/download/community)下载合适的安装包,如下图所示:
我们选择好要使用的安装包后并不需要在浏览器中直接下载,只需要复制下载链接即可,之后使用 Linux 命令来下载 MongoDB 的安装包,如下所示:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.0.tgz
安装
1、将安装包移到 /usr/local/src 目录下(这步为个人习惯,非必须执行)
2、解压安装包
3、创建数据存储目录和日志存储文件
4、进入mongodb解压目录下的bin目录,启动mongodb服务
配置 MongoDB
以上面的方式启动mongodb比较麻烦,每次要自己加一堆参数,我们可以把这些参数写到配置文件中
1、进入mongodb解压目录下的bin目录,新增mongodb.conf文件
2、vim编辑mongodb.conf文件,增加下面配置内容
# 数据存储目录 dbpath=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/data # 日志存储目录 logpath=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/mongodb.log # 日志以追加方式存储 logappend=true # 绑定ip bind_ip=127.0.0.1 # 绑定端口 port=27017 # 是否以守护进程启动 fork=true
更多配置文件配置详情
# 数据库文件位置 dbpath=/var/lib/mongodb #日志文件的路径 logpath=/var/log/mongodb/mongodb.log # 是否追加方式写入日志,默认True logappend=true # 设置绑定ip bind_ip = 127.0.0.1 # 设置端口 port = 27017 # 是否以守护进程方式运行,默认false fork = true # 启用日志文件,默认启用 journal=true # 启用定期记录CPU利用率和 I/O 等待,默认false #cpu = true # 是否以安全认证方式运行,默认是不认证的非安全方式 #noauth = true #auth = true # 详细记录输出,默认false #verbose = true #用于开发驱动程序时验证客户端请求 #objcheck = true # # 启用数据库配额管理,默认false #quota = true # 设置oplog日志记录等级,默认0 # 0=off (default) # 1=W # 2=R # 3=both # 7=W+some reads #oplog = 0 # 是否打开动态调试项,默认false #nocursors = true # 忽略查询提示,默认false #nohints = true # 禁用http界面,默认为localhost:28017 #nohttpinterface = true # 关闭服务器端脚本,这将极大的限制功能,默认false #noscripting = true # 关闭扫描表,任何查询将会是扫描失败 #notablescan = true # 关闭数据文件预分配 #noprealloc = true # 为新数据库指定.ns文件的大小,单位:MB # nssize = <size> # 用于Mongo监控服务器的Accout token。 #mms-token = <token> # Mongo监控服务器的服务器名称。 #mms-name = <server-name> # Mongo监控服务器的Ping间隔时间,即心跳 #mms-interval = <seconds> # Replication Options # 设置主从复制参数 #slave = true # 设置从节点 #source = master.example.com # 指定从节点的主节点 # Slave only: 指定要复制的单个数据库 #only = master.example.com # or #master = true # 设置主节点 #source = slave.example.com # 设置副本集的名字,所有的实例指定相同的名字属于一个副本集 replSet = name #pairwith = <server:port> # 仲裁服务器地址 #arbiter = <server:port> # 默认为false,用于从实例设置。是否自动重新同步 #autoresync = true # 指定的复制操作日志(OPLOG)的最大大小 #oplogSize = <MB> # 限制复制操作的内存使用 #opIdMem = <bytes> # 设置ssl认证 # Enable SSL on normal ports #sslOnNormalPorts = true # SSL Key file and password #sslPEMKeyFile = /etc/ssl/mongodb.pem #sslPEMKeyPassword = pass
mongodb.conf
3、以配置文件启动mongodb
4、设置mongodb命令为全局使用
在 /etc/profile 文件最后加上
export MONGODB_HOME=/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin
export PATH=$PATH:$MONGODB_HOME
source文件,使配置立即生效后,就可以全局使用mongodb命令了
需要注意的是,此时使用mongodb.conf配置文件启动服务需要使用绝对路径,否则无法找到配置文件。
5、设置mongodb使用service开机启动并使用命令控制服务
在 /etc/init.d/ 目录下新建mongodb文件,,将下面代码粘贴进去
#!/bin/sh # #mongod - Startup script for mongod # # chkconfig: - 85 15 # description: Mongodb database. # processname: mongod # Source function library . /etc/rc.d/init.d/functions # things from mongod.conf get there by mongod reading it # OPTIONS OPTIONS=" -f /usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin/mongodb.conf " #mongod mongod="/usr/local/src/mongodb-linux-x86_64-rhel70-5.0.0/bin/mongod" lockfile=/var/lock/subsys/mongod start() { echo -n $"Starting mongod: " daemon $mongod $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $lockfile } stop() { echo -n $"Stopping mongod: " killproc $mongod -QUIT RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $lockfile } restart () { stop start } ulimit -n 12000 RETVAL=0 case "$1" in start) start ;; stop) stop ;; restart|reload|force-reload) restart ;; condrestart) [ -f $lockfile ] && restart || : ;; status) status $mongod RETVAL=$? ;; *) echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" RETVAL=1 esac exit $RETVAL
mongodb service script
需要注意OPTIONS和mongod参数值要与自己的安全路径一致
给文件增加执行权限
此时,使用chkconfig –list 命令可以看到多了个mongodb,然后使用chkconfig mongodb on 设置开机启动
此时我们还可以使用 service mongodb [start|stop|restart] 控制mongodb服务
连接 MongoDB
进入解压目录的bin,执行 mongo文件就可以启用客户端连接mongodb
如果已配置mongodb命令为全局使用,可以在任何目录输入mongo 连接mongodb