Linux(CentOS)中安装MongoDB
1. 下载对应操作系统和机器的版本
网址: https://www.mongodb.com/download-center?jmp=docs
我的系统为CentOS-6.6 ,64位,所以选择红帽子版,因为它们之间有不得不说的渊源。
2. 安装
2.1 将安装包解压到 /usr/local 目录中
tar -zxvf mongodb-linux-x86_64-rhel62-3.2.7.tgz
重命名为mongodb-3.2.7之后建立软连接:
ln -s mongodb-3.2.7 mongodb
2.2 在/usr/local/mongodb目录中创建数据库文件夹与日志文件。
mkdir /usr/local/mongodb/data
touch /usr/local/mongodb/logs
2.3 将mongodb的bin目录加入到PATH中,以供全系统使用
编辑/etc/profile文件,在最后加上:
然后通过 source profile 命令来使更改立即生效。
2.4 编写简单脚本来启动mongodb
2.4.1 无密码登陆
脚本start-mongodb.sh内容如下:
mongod --dbpath /opt/mongodb-data/data --logpath /opt/mongodb-data/logs/mongodb.log --journal --fork
执行脚本开启mongod服务,并通过mongo客户端来建立新用户,设置密码。
2.4.2 创建新用户
建立脚本来创建新用户,其内容如下:
#!/bin/bash mongo <<EOF use admin db.createUser({ user:"test1", pwd:"123", roles:[ { role:"userAdminAnyDatabase",db:"admin" } ] }); show dbs; quit(); EOF
执行脚本,创建结果如图所示:
2.4.3 有密码登陆
创建完用户之后就可以通过密码来登陆。
启动脚本修改为:
mongod --dbpath /opt/mongodb-data/data --logpath /opt/mongodb-data/logs/mongodb.log --journal --fork --auth
更改完了之后就先关闭原来开启的mongod服务,然后用新的脚本重新开启需要密码验证的mongod:
测试服务状况:
如上图所示说明成功用新建立的用户连接到了开启的mongodb中
2.4.4 参数解释: --dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)