mongodb安装配置
mongodb的安装
下载解压
随意找个目录
1 2 3
| wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.2.tgz tar -xzvf mongodb-linux-x86_64-rhel70-5.0.2.tgz mv mongodb-linux-x86_64-rhel70-5.0.2.tgz /usr/local/mongodb5 #可不移动
|
配置
1 2 3 4 5 6 7 8
| #进入编辑页面 sudo vim /etc/profile #添加如下内容 MONGODB_HOME=/usr/local/mongodb5 #自己上步的安装目录 PATH=$PATH:MONGODB_HOME/bin #如果已有java之类的PATH,可接着后边添加,以:分割 export PATH MONGODB_HOME #保存退出 #重新加载 sudo source /etc/profile
|
创建数据库目录和日志目录
默认情况下 MongoDB 启动后会初始化以下两个目录:
1
| /var/lib/mongodb /var/log/mongodb
|
也可自己随意指定,但是启动的时候要指向自己的目录。
1 2 3 4 5
| sudo mkdir -p /var/lib/mongodb5 sudo mkdir -p /var/log/mongodb5 #设置操作权限,也可chown设置用户的权限 sudo chmod -ax /var/lib/mongodb5 sudo chmod -ax /var/log/mongodb5
|
添加启动配置文件
1 2 3 4 5 6 7
| sudo vim /usr/local/mongodb5/bin/mongodb.conf #添加如下内容 bind_ip=0.0.0.0 dbpath=/var/lib/mongodb logpath=/var/log/mongodb/mongod.log fork=true logappend=true
|
注:如果远程连接,记得放开启动端口27017(默认端口,可配置文件指定端口号)或者关闭防火墙。
启动
1 2
| cd /usr/local/mongodb5/bin mongod -f mongodb.conf
|
假如一直报创建子进程(child…)类的错
要么已经启动了一个mongodb
因为某些原因被锁了(删掉/var/lib/mongodb5和/var/log/mongodb5中后缀为.sock文件)
当前用户没有执行权限,切到有执行权限的用户
启动成功,配置的日志文件里会有如下内容(版本不一样,可能显示不一样,但主要内容一样):
1 2 3
| {"t":{"$date":"2021-08-09T21:26:30.601+08:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"/tmp/mongodb-27017.sock"}} {"t":{"$date":"2021-08-09T21:26:30.601+08:00"},"s":"I", "c":"NETWORK", "id":23015, "ctx":"listener","msg":"Listening on","attr":{"address":"0.0.0.0"}} {"t":{"$date":"2021-08-09T21:26:30.601+08:00"},"s":"I", "c":"NETWORK", "id":23016, "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}
|
启动成功可进入后台管理
1 2 3 4 5 6
| cd /usr/local/mongodb5/bin #启动后台管理 ./mongo #会打印一段话,出现 > ,即可操作 ... >
|
问题
用navicat进行身份验证连接出现cannot connect to Mongodb authentication failed
第一次安装mongodb,是不需要密码,也没有用户的。所以需要创建用户再连接。
#第一次用,具体的还不是很清楚,先创建使用,role有各种对应的权限,自行google百度。
用navicat进行身份验证 serverselectiontimeouttms 异常
极大概率端口,防火墙问题,需要确认端口号是否放开或者防火墙是否关闭,还有配置文件是否正确。