一、安装

1.1 下载MongoDB安装包

MongoDB官网下载地址:https://www.mongodb.com/download-center/community

Linux链接MongoDB客户端 linux mongodb客户端_Linux


本人使用wget方式安装MongoDB。

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.10.tgz

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB安装_02


Linux链接MongoDB客户端 linux mongodb客户端_MongoDB_03

1.2 解压MongoDB安装包
tar -zxvf mongodb-linux-x86_64-3.6.10.tgz

Linux链接MongoDB客户端 linux mongodb客户端_Linux链接MongoDB客户端_04


修改解压后文件夹的名称。

mv mongodb-linux-x86_64-3.6.10 mongodb

Linux链接MongoDB客户端 linux mongodb客户端_Linux链接MongoDB客户端_05

1.3 mongodb文件bin目录下自带工具的作用

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB_06

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

Linux链接MongoDB客户端 linux mongodb客户端_Linux链接MongoDB客户端_07


进入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

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB安装_08


验证MongoDB是否启动成功。

curl localhost:27017

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB安装_09


Linux链接MongoDB客户端 linux mongodb客户端_MongoDB安装_10

二、设置MongoDB用户和密码

2.1 利用./mongo命令连接mongoDB客户端。
./mongo

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB安装_11

2.2 设置数据库账号密码
use admin
db.createUser( {user: "qianye",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB_12


可以使用mongodb命令show users,查看已有用户。

show users

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB_13

2.3 设置使用权限方式启动MongoDB

使用mongodb命令db.shutdownServer(),关闭mongodb服务端。

db.shutdownServer()

Linux链接MongoDB客户端 linux mongodb客户端_Linux链接MongoDB客户端_14


进入etc目录,在配置文件mongodb.conf中添加

auth=true

重新启动MongoDB服务端后,并启动客户端。

这时,使用mongodb命令show users,查看已有用户,会报错“there are no users authenticated (没有经过身份验证的用户)”。

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB设置用户密码_15


使用admin数据库并进行验证,返回1表示成功。

db.auth("qianye","123456")

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB设置用户密码_16

三、设置随处执行mongo命令启动客户端

3.1 将mongod路径添加到系统路径中
vim /etc/profile

profile中添加以下内容:

export PATH=$PATH:/usr/local/software/mongod/bin

Linux链接MongoDB客户端 linux mongodb客户端_Linux_17


执行source /etc/profile,使系统环境变量立即生效

3.2 将mongo路径软链到/usr/bin路径下
ln -s /usr/local/software/mongod/bin /usr/bin/mongo

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB安装_18

3.3 测试是否方便随处执行mongo命令

回到任意路径下,执行mongo命令,连接mongodb客户端

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB_19


关闭mongodb服务端

db.shutdownServer()

这时,会报以下错误:

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB安装_20


解决办法,执行下面的语句,添加权限:

db.updateUser(
 "qianye",
        {
           roles : [
                     {"role" : "userAdminAnyDatabase","db" : "admin"},
                     {"role" : "dbOwner","db" : "admin"},
                     {"role" : "clusterAdmin", "db": "admin"}
                   ]
        }
 )

Linux链接MongoDB客户端 linux mongodb客户端_MongoDB_21