遇到的坑
-
版本问题
真的是 安装这个东西才了好多的坑 最主要还是版本安装错了⬇️
我也不知道这个 bug
(mongodb/bin目录下没有mongo这个可执行文件) 然后我就搞了好久 刚开始还以为是版本更新 名字改了 后面才知道就是有问题 真的是服了
正确的版本号⬇️
应该是选择 5.0.x 的版本 这样子就不会出错了
-
进程冲突问题
在执行 mongod --fork --dbpath data --logpath log/mongo.log --logappend
之后报以下错误
[root@luntek mongodb]# ./bin/mongod --config /home/mongodb/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 25486
ERROR: child process failed, exited with error number 1
To see additional information in this output, start without the "--fork" option.
反正大概就是说这个进程被占用了 你就用不了了什么的 网上看了一些教程 说是可以用 kill -9 25486
来 消灭这个进程 这边建议先去用一下网上的方法
==>
反正我是不行 说什么kill啥的 我也忘了 反正就是不行 然后我就采用了一个简单暴力的方法 直接关机重启 好家伙 果然有效 直接就是一个成功
正确的操作流程⬇️
-
先上 官网 下载 记得版本号要用5.0.x 也许之后这个问题就会解决了吧
-
安装之后解压包
-
改名 ==> 建议是
mongodb
-
移动文件 ==> 建议是
/src/local
-
-
配置环境变量
-
先进入
~
文件夹 -
执行
open .bash_profile
-
添加一条这个命令
export PATH=${PATH}:/usr/local/mongodb/bin
-
source .bash_profile
-
-
检查是否安装完成
-
输入
mongod --version
-
-
创建文件夹
-
mkdir data log
-
-
赋予文件夹读写权限
-
sudo chown username /usr/local/mongodb/data
-
sudo chown username /usr/local/mongodb/log
-
-
手动制定目录启动(是在mongodb文件夹下进入终端执行)
-
mongod --fork --dbpath data --logpath log/mongo.log --logappend
-
如果显示三行命令 看到 successfully 那就是成功了
-
-
重新打开一个终端 输入 mongo
-
如果出现一个小尖头> 那就说明成功了
-
-
这个时候就可以打开终端中现实的那个地址 看到如下命令就说明成功了
-
数据库的关闭
-
use admin
-
db.shutdownServer({force:true})
-
-
根据配置文件启动mongoDB
-
首先创建一个etc文件夹 再创建一个
mongodb.conf
-
# for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data. systemLog: destination: file logAppend: true path: /usr/local/mongodb/log/mongo.log # Where and how to store data. storage: dbPath: /usr/local/mongodb/data/ journal: enabled: true # how the process runs processManagement: fork: true # fork and run in background # network interfaces net: port: 27017 bindIp: 127.0.0.1 security: authorization: enabled
-
-
这个时候这样就可以了
mongod -f /usr/local/mongodb/etc/mongodb.conf
-
但是关闭服务就不太一样了 因为上面最后有一个
authorization: enabled
直接在官网下载的话没有用户 这个时候我们就需要创建一个用户 -
创建root用户:
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
-
登陆:
db.auth('root','123456')
-
赋予权限:
db.grantRolesToUser( "root" , [{role: "hostManager", db: "admin"}])
-
然后就可以通过上面的关闭方式关闭啦
-