背景介绍:小的在工作中需要用mongo,就琢磨在虚拟机centos7上安装一个mongo玩玩。安装完之后,发现远程连接不上。
那么小的就从安装开始给各位看客老爷们道来。
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 下载
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz # 解压
mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 将解压包拷贝到指定目录
MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到
PATH
路径中:
export PATH=<mongodb-install-directory>/bin:$PATH # 类似于配置jdk的classPath export为导出环境变量 可以用echo $PATH 查看。
<mongodb-install-directory>
为你 MongoDB 的安装路径。如本文的
/usr/local/mongodb
创建数据库目录
MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
以下实例中我们将data目录创建于根目录下(/)。
注意:/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。
mkdir -p /data/db
命令行中运行 MongoDB 服务
你可以再命令行中执行mongo安装目录中的bin目录执行mongod命令来启动mongdb服务。
注意:如果你的数据库目录不是/data/db,可以通过 --dbpath 来指定。
$ ./mongod
以上部分都是小的从http://www.runoob.com/mongodb/mongodb-linux-install.html 网站上copy的。。当然这也是最简单的启动方式,安这方式启动
只能localhost 也就是本地连接,那么远程连接的关键是什么? 有二
一: bind_ip 默认启动绑定的bind_ip=127.0.0.1 只允许本地连接访问,我们要在启动的时候修改bind_ip=0.0.0.0,表示所有网段都可以连接
,命令如下
,命令如下
# cd /usr/local/mongodb/bin
# ./mongod --dbpath=/usr/local/mongodb/data --bind_ip=0.0.0.0 --port=27017 --fork
这时候修改完还不能连接 ,因为还需要关闭防火墙,centos7关闭防火墙命令和centos6是不同的,centos7之外的系统自己去找命令吧,思路都是一样的
二:关闭防火墙
systemctl stop firewalld
之后就可以重启mongoDB了。
测试连接,我的是window7远程连接,先测试ip和端口是否可用, telnet ip port 例如:
telnet 172.21.123.110 27017
到此本应该结束的,但是我关闭mongo重启的过程中遇到了问题。mongod.lock,无法启动,当然,我承认我是ctrl+
在mongodb的启动时,在数据目录下(我的是/data/db/),会生成一个mongod.lock文件。如果在正常退出时,会清除这个mongod.lock文件,若要是异常退出,在下次启动的时候,会禁止启动,从而保留一份干净的一份副本数据。有人可能会想到删除这个文件,我就是直接删除了,因为我的库自己建这玩的。。但是正式工作环境建议不要这么做。如果这么做,我们也不知道数据文件是否会损坏,如果mongod.lock文件阻止mongod的启动,请对数据文件进行修复,而不是简单的删除该文件。而这里的mongod.lock文件存放的是:启动mongod的进程号.
到此结束。小的初学mongo,希望与各位看客老爷共同切磋,进步,如果我的文章对你有用,请帮忙点个赞。如果没用,那。。我也不会道歉的。拜拜