Linux环境下,MongoDB 3.6.10 的安装步骤,以及设置用户和密码,配置随处执行mongo命令启动客户端,以及所遇到的问题

一、安装

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

下载
MongoDB安装包

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目录下自带工具的作用

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
验证MongoDB是否启动成功。

curl localhost:27017

验证1
验证2

二、设置MongoDB用户和密码

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

MongoDB客户端

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

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

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

软链

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

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

db.shutdownServer()

这时,会报以下错误:
错误
解决办法,执行下面的语句,添加权限:

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

解决方案1

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值