linux使用CentOS 7.7
使用xshell和 xftp
进入mongodb官网:
链接: https://www.mongodb.com/
最终下载网址:https://www.mongodb.com/try/download/community
说明:使用社区版本,是免费的。
版本选择的建议和差异:
简而言之:
不需要事务,建议选择3.4
需要简单事务,建议选择4.0
需要分布式事务或其他必要功能,建议选择4.2
学习用途,建议选择最新版本
安装包使用tgz;
我们这里使用xftp上传;
将从官网下载好的 mongodb-linux-x86_64-rhel70-4.2.23.tgz 上传到要安装的服务器的目录中
建议目录为:/usr/local 目录下
解压 mongodb-linux-x86_64-rhel70-4.2.23.tgz 文件:
解压文件必须进入到压缩包所在的目录:
cd /usr/local
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.23.tgz
解压完成后我们得到一个相应的文件夹,包含bin等目录;
4.1 、在 /usr/local 目录中创建 mongodb 文件夹
cd /usr/local
mkdir mongodb
4.2 、在 mongodb 下创建 data 和 logs 目录,以及日志文件mongodb.log
cd mongodb #进入文件夹
mkdir data
mkdir logs
touch /usr/local/mongodb/logs/mongodb.log
将解压后的 mongodb-linux-x86_64-rhel70-4.2.23 中的所有文件全部移动到 /usr/local/mongodb 中 :注意/*是所有子文件
mv mongodb-linux-x86_64-rhel70-4.2.23/* /usr/local/mongodb
也可以不用设置环境变量进行启动,但是不设置环境变量启动的话要每次启动写很多启动参数,比较麻烦,所以做好配置环境变量。
不配置环境变量的启动如下:不建议:
配置环境变量的启动:
vim /etc/profile
在文件中增加以下配置:
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
注意:不要出现多于的空格等;
vim /etc/mongodb.conf
添加一下常用配置:
#指定数据库路径
dbpath=/usr/local/mongodb/data
#指定MongoDB日志文件
logpath=/usr/local/mongodb/logs/mongodb.log
# 使用追加的方式写日志
logappend=true
#端口号
port=27017
#方便外网访问,外网所有ip都可以访问,不要写成固定的linux的ip
bind_ip=0.0.0.0
fork=true # 以守护进程的方式运行MongoDB,创建服务器进程
#auth=true #启用用户验证
#bind_ip=0.0.0.0 #绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定则默认本地所有IP
进入 bin 目录
cd /usr/local/mongodb/bin
启动 MongoDB(-conf 使用配置文件方式启动)
mongod -f /etc/mongodb.conf
关闭 MongoDB(-conf 使用配置文件方式关闭 )
mongod --shutdown -f /etc/mongodb.conf
#查看进程
ps -ef | grep mongod
也可以杀死进程来关闭:kill -2 或者kill -15 进程号
报错一:ERROR: child process failed, exited with error number 48
解决方案:通过mongod --repair检查具体错误。
原来是端口冲突。删除前面没执行成功的文件,然后修改XXX.conf配置文件。将其中端口号改为27016后。重新执行后成功。
如果启动后没有关闭,再起启动也会报错48.则可以先使用关闭命令关闭,然后再次启动。
报错二:-bash: /usr/local/mongodb6/bin/mongod: Permission denied
启动的时候报错了,是因为没权限访问该文件
解决方案:给mongodb文件夹分配最高权限
sudo chmod -R 777 /usr/local/mongodb
-R 是指级联应用到目录里的所有子目录和文件
777 是所有用户拥有的最高权限