MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包。
下载地址:https://www.mongodb.com/download-center#community
下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.0.tgz
tar -zxvf mongodb-linux-x86_64-3.6.0.tgz
mv mongodb-linux-x86_64-3.6.0 mongodb
MongoDB 的可执行文件位于 bin 目录下,
可以把bin目录绝对路径添加到环境变量即可,具体过程不再叙述了
执行mongod命令来启动mongdb服务
以上说明:
MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
以下实例中我们将data目录创建于根目录下(/)。
注意:/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。
mkdir -p /data/db
注意:如果你的数据库目录不是/data/db,可以通过 --dbpath 来指定。
后台启动加 --fork
创建log目录 及文件
mkdir -p /data/db/log
touch /data/db/log/mongod.log
启动
mongod --logpath=/data/db/log/mongod.log --logappend --fork
如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo命令文件。
MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。
当你进入mongoDB后台后,它默认会链接到 test 文档(数据库):
cd /usr/local/mongodb/bin./mongo
也可以新建mongodb.conf配置文件, 通过这个配置文件进行启动.
vim /etc/mongodb.conf
配置文件参数说明:
mongodb的参数说明:--dbpath 数据库路径(数据文件)--logpath 日志文件路径--master 指定为主机器--slave 指定为从机器--source 指定主机器的IP地址--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。--logappend 日志文件末尾添加--port 启用端口号--fork 在后台运行--only 指定只复制哪一个数据库--slavedelay 指从复制检测的时间间隔--auth 是否需要验证权限登录(用户名和密码)注:mongodb配置文件里面的参数很多,定制特定的需求,请参考官方文档
配置文件内容:
dbpath=/data/mongodb
logpath=/data/mongodb/log/mongodb.log
logappend=true
port=27017
fork=true
##auth = true # 先关闭, 创建好用户在启动
通过配置文件启动服务:
mongod --journal -f /etc/mongodb.conf (32位系统需加参数 --journal)
通过配置文件关闭服务:
mongod --journal --shutdown -f /etc/mongodb.conf
这时通过另外一台电脑用pymongo连接mongodb时,报错:timeout。
ping IP 是成功的。 telnet IP 27017 的时候,提示:27017端口连接不上。
解决办法:
1、mongodb的配置文件中的bind_ip 默认为127.0.0.1,默认只有本机可以连接。 此时,需要将bind_ip配置为0.0.0.0,表示接受任何IP的连接。
2、防火墙阻止了27017端口。
于是,先修改mongodb配置文件,并重启mongod服务
MongoDB可以限制只允许某一特定IP来访问,只要在启动时加一个参数bind_ip即可,或者在/etc/mongodb.conf中添加bind_ip配置,如下:
# 方法一
mongod --bind_ip 127.0.0.1,10.0.133.14 # 方法二
在/etc/mongodb.conf文件中添加以下内容:
bind_ip = 127.0.0.1,10.0.133.14
这样之后,MongoDB服务端只有127.0.0.1和10.0.133.14这两个 IP 可以访问了。