大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

Linux 配置使用 MongoDB环境

MongoDB 官网

https://www.mongodb.com/download-center#community
image.png

下载MongoDB 包

wget https:``//fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.6.tgz
或者 curl https:``//fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.6.tgz
//此版本是3.2.6,需要其他本版本,可在上图中All Version binaries位置点击查找

解压缩

// 我当前路径在/usr/local/下
tar -zxvf mongodb-linux-x86_64-rhel70-3.2.6
所以解压好的文件在 /usr/local/mongodb-linux-x86_64-rhel70-3.2.6
mv mongodb-linux-x86_64-rhel70-3.2.6 mongodb
我将文件夹名字改为mongodb (个人癖好,在此说明是为了不让你混淆)

安装MongoDB

cd mongoDB
mkdir db  # db文件夹存放数据
touch logs # 存放日志
cd bin
vi mongodb.conf #启动配置文件

在mongodb.conf填写
dbpath=/usr/local/mongoDB/db
logpath=/usr/local/mongoDB/logs
port=27017
fork=true
nohttpinterface=true

参数解释: 
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加,即使用追加的方式写日志
--journal 启用日志
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
--syncdelay 数据写入硬盘的时间(秒),0是不等待,直接写入
--notablescan 不允许表扫描
--maxConns 最大的并发连接数,默认2000  
--pidfilepath 指定进程文件,不指定则不产生进程文件
--bind_ip 绑定IP,绑定后只能绑定的IP访问服务

启动MongoDB

cd /usr/local/mongoDB/bin
./mongod --config mongodb.conf # 通过配置文件启动
./mongod -dbpath=/usr/local/mongoDB/db -logpath=/usr/local/mongoDb/logs# 命令行启动

如果启动出现下面的错误

可能会出现的错误
[root@links-eu95-3.gz00a.test.alipay.net /usr/local/mongoDB/bin]: ./mongod --config mongodb.conf
./mongod: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./mongod)
./mongod: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./mongod)
./mongod: /usr/lib64/libcrypto.so.10: version `OPENSSL_1.0.2' not found (required by ./mongod)

# 原因:
OpenSSL的版本过低,需要升级
# 下载OpenSSL
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.2-latest.tar.gz
tar -zxf openssl-1.0.2-latest.tar.gz
# 编译安装
cd openssl-1.0.2*
./config
make && make install
# 移除旧版本并建立软连接
mv /usr/bin/openssl /tmp/
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

# 也有可能是其他库版本过低,只要更新对应库就OK了

查看是否启动成功

ps -ef | grep mongo
# 启动成功
root       2044      1  1 05:05 ?        00:01:03 ./mongod --config mongodb.conf
# 进入mongo-shell
./mongo