一、安装
1.1 下载MongoDB安装包
MongoDB官网下载地址:https://www.mongodb.com/download-center/community
本人使用wget方式安装MongoDB。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.10.tgz
1.2 解压MongoDB安装包
tar -zxvf mongodb-linux-x86_64-3.6.10.tgz
修改解压后文件夹的名称。
mv mongodb-linux-x86_64-3.6.10 mongodb
1.3 mongodb文件bin目录下自带工具的作用
bsondump
将bson格式的文件转储为json格式的数据
mongo
客户端命令行工具
mongod
MongoDB服务启动工具
mongodump
MongoDB数据备份工具
mongoexport
MongoDB数据导出工具
mongofiles
GridFS 管理工具,可实现二制文件的存取
mongoimport
MongoDB数据导入工具
mongorestore
MongoDB数据恢复工具
mongos
分片路由,如果使用了 sharding 功能,则应用程序连接的是 mongos 而不是 mongod
mongosniff
MongoDB监测工具
mongostat
MongoDB自带的状态检测工具
mongotop
跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数据
1.4 创建数据库文件夹data,日志文件夹logs,配置文件夹etc以及配置文件mongodb.conf
进入mongodb
目录,在mongodb
目录下,创建data
文件夹、logs
文件夹、etc
文件夹。这三个文件夹可以随意建在何处,只要能记住就行。
cd mongodb
mkdir data
mkdir logs
mkdir etc
进入etc
目录,在etc
目录下创建mongodb.conf
配置文件。
cd ect
vim mongodb.conf
添加以下内容
#指定数据库路径
dbpath=/usr/local/software/mongodb/data
#指定MongoDB日志文件,注意是指定文件不是目录
logpath=/usr/local/software/mongodb/logs/mongodb.log
#指定服务端口号,默认端口27017
port=27017
#以守护进程的方式运行MongoDB,创建服务器进程,即后台运行
fork=true
#关闭http接口,默认关闭27018端口访问
#nohttpinterface=true
#关闭日志选项(开启的话,MongoDB的数据操作将会写入到journal文件夹的文件里)
journal=false
#绑定服务IP,若绑定127.0.0.1,则只能本机访问;若绑定0.0.0.0,则所有人都可以访问。
bind_ip=0.0.0.0
注意:
(1)对于MongoDB 3.6.10版本,添加nohttpinterface=true
这个配置,会报“ Error parsing INI config file: unrecognised option ‘nohttpinterface’ ” 错误。
(2)对于MongoDB 3.6.10版本,如果不添加bind_ip
这个配置,会报“ Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused ” 错误。
1.5 启动MongoDB
mongodb安装好后第一次进入是不需要密码的,也没有任何用户,cd到mongodb
目录下的bin
文件夹,执行命令./mongod
即可
cd /usr/local/software/mongodb/bin
./mongod --config /usr/local/software/mongodb/etc/mongodb.conf
验证MongoDB是否启动成功。
curl localhost:27017
二、设置MongoDB用户和密码
2.1 利用./mongo
命令连接mongoDB客户端。
./mongo
2.2 设置数据库账号密码
use admin
db.createUser( {user: "qianye",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
可以使用mongodb命令show users
,查看已有用户。
show users
2.3 设置使用权限方式启动MongoDB
使用mongodb命令db.shutdownServer()
,关闭mongodb服务端。
db.shutdownServer()
进入etc
目录,在配置文件mongodb.conf
中添加
auth=true
重新启动MongoDB服务端后,并启动客户端。
这时,使用mongodb命令show users
,查看已有用户,会报错“there are no users authenticated (没有经过身份验证的用户)”。
使用admin数据库并进行验证,返回1表示成功。
db.auth("qianye","123456")
三、设置随处执行mongo
命令启动客户端
3.1 将mongod路径添加到系统路径中
vim /etc/profile
在profile
中添加以下内容:
export PATH=$PATH:/usr/local/software/mongod/bin
执行source /etc/profile
,使系统环境变量立即生效
3.2 将mongo路径软链到/usr/bin路径下
ln -s /usr/local/software/mongod/bin /usr/bin/mongo
3.3 测试是否方便随处执行mongo
命令
回到任意路径下,执行mongo
命令,连接mongodb客户端
关闭mongodb服务端
db.shutdownServer()
这时,会报以下错误:
解决办法,执行下面的语句,添加权限:
db.updateUser(
"qianye",
{
roles : [
{"role" : "userAdminAnyDatabase","db" : "admin"},
{"role" : "dbOwner","db" : "admin"},
{"role" : "clusterAdmin", "db": "admin"}
]
}
)