使用Xftp将压缩包上传到指定目录下
# 这里我放在 /usr/local/software 目录下
cd /usr/local/software
# 创建目录
mkdir mongodb
# 解压文件 -- 文件名根据你自己的压缩包文件名来
tar -zxvf 压缩文件名.tar.gz
创建MongoDB数据存储文件和日志文件
# 切换到 mongodb 目录下
cd /usr/local/mongodb/
# 创建数据库目录
mkdir data
# 创建日志目录
mkdir logs
cd ./logs
# 创建日志文件
touch mongodb.log
cd ../
mkdir etc
cd etc
touch mongodb.conf
添加mongodb.conf配置文件
#数据库路径
dbpath=/usr/local/software/mongodb/data
#日志输出文件路径
logpath=/usr/local/software/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true
将mongodb服务加入环境变量
vi /etc/profile
在文件末尾添加
export PATH=$PATH:/usr/local/software/mongodb/bin
加载配置
source /etc/profile
启动MongoDB服务
在mongodb的安装目录下的bin目录下启动服务
# 切换到mongodb安装目录下的bin目录
cd /usr/local/software/mongodb/bin/
# 启动mongodb
./mongod --config /usr/local/software/mongodb/etc/mongodb.conf
查看mongodb是否已经启动成功
netstat -lanp | grep "27017"
显示如下进程,说明已经成功启动
操作mongo数据库
切换到mongodb安装目录下的bin目录下使用 ./mongo 命令
./mongo
显示如下,说明已经成功进入mongo数据库了,默认是进入的是test数据库,可以使用show dbs 查看当前所有数据库
创建数据库与切换用户或数据库
show dbs --查看所有的库,默认只有local admin config
use admin --切换到admin库,创建系统管理员
# 创建用户并授权
db.createUser({user:"swordiot",pwd:"Sw67878700^",roles:[{role:"dbAdminAnyDatabase",db:"admin"},{role:"userAdminAnyDatabase",db:"admin"},{role:"dbOwner",db:"admin"}]})
# 参数说明:
user 用户名
pwd 密码
roles 角色数组
role 具体角色
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
备注:删除用户命令 db.dropUser("userName")
授权成功后,关闭mongo服务
db.shutdownServer()
然后需要到配置文件中修改配置,启用安全认证 ---- 开启认证,必须先添加用户
最后开启mongo服务,进入数据库测试
./mongod --config /usr/local/software/mongodb/etc/mongodb.conf
首先使用use admin通过db.auth(‘root’,‘密码’) 输出1就是验证成功
use admin
db.auth('swordiot','Sw67878700^')