一.安装环境
CentOS7+MongoDB4.0.13正式版。
二.下载MongoDB
1.1 官网下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz
1.2 将压缩包通过xftp上传到服务器/opt目录,然后解压、改名
三. 配置环境变量及配置文件
3.1配置系统环境变量:
vim /etc/profile
#mongodb
export PATH=$PATH:/opt/mongodb/bin
source /etc/profile 使修改生效。
3.2 创建MongoDB数据存放文件夹和日志记录文件夹,为后面的配置文件使用:
mkdir -p /data/db
mkdir -p /logs
3.3 创建MongoDB运行时使用的配置文件:
进入bin目录下:cd /opt/mongodb/bin
创建mongodb.conf配置文件:vim mongodb.conf,输入如下内容:
dbpath = /data/db #数据文件存放目录
logpath = /logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
四. 启动MongoDB
4.1 启动MongoDB服务:
进入bin目录下,加载配置文件方式启动:
cd /opt/mongodb/bin
./mongod -f mongodb.conf
至此,MongoDB在Linux上的安装启动完毕。
查看端口映射检查是否启动成功:netstat -nltp|grep mongod,
或者:netstat -nltp|grep 27017
或者: ps aux | grep mongo ,显示
4.2 关闭MongoDB。
mongod命令关闭:./mongod --shutdown
五. 创建MongoDB的账号
这也是我第一次搭MongoDB,由于刚开始在配置文件中加了auth=true,导致本地可正常访问,远程却一直连接不上MongoDB(远程使用的是默认空用户名和密码),看了很多博客也没找到原因,最后为MongoDB创建了账号远程才可访问,这也是上面的配置文件我为什么建议刚安装时注释掉auth=true,当然,后面如果熟悉了账号的创建,为了安全还是应该开启的。
建议注释了auth=true后进行下面的操作,如果开启了认证,可能会导致下面的操作执行失败(只是可能)。
进入bin目录下: cd /opt/mongodb/bin
运行mongo命令:mongo
使用admin数据库:use admin,
注意admin数据库下创建的账号权限是所有库通用的,即是全局认证的。
创建用户:
db.createUser
({
user: ‘root’, pwd: ‘root’,roles:
[ { role: “dbOwner”, db: “test” }]
})
这时候MongoDB的admin数据库就有了账号,启用auth=true,重启后,再连接就需要账号密码授权了。
连接admin数据库(因为账号是admin数据库下的用户,如果想直接连接test数据库,这个数据库中是没有名为root的用户的,所以最好的解决方案就是在test数据库中通过db.createUser创建一个相同的用户):use admin
授权:db.auth(“root”,“root”)
使用test数据库:use test
这时候就拥有了权限对数据库进行操作:db.firstCollection.save({“name”:“majun”,“age”:“30”})
可查看是否新增成功:db.firstCollection.find({name:“majun”})
退出mongo命令行工具:ctrl + c 或 exit