一、下载安装包
本文使用 tgz 方式,根据服务器类型在官网下载 MongoDB 安装包。官方地址:https://www.mongodb.com/try/download/community
下载方式如图所示:
选择版本
关于 MongoDB 的版本选择,参见如下版本差异:
1、将从官网下载好的 mongodb-linux-x86_64-rhel70-4.2.24.tgz
上传到要安装的服务器的目录中,建议目录为:/usr/local/mongodb
cd /usr/local/
mkdir mongodb
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.24.tgz #文件名根据你自己的压缩包文件名来
将解压后的 mongodb-linux-x86_64-rhel70-4.2.24 中的文件全部移动到 /usr/local/mongodb 中
mv mongodb-linux-x86_64-rhel70-4.2.24/* /usr/local/mongodb
2、创建mongodb数据存储文件和日志文件
cd /usr/local/mongodb/
mkdir data
mkdir logs
touch /usr/local/mongodb/logs/mongodb.log
touch /usr/local/mongodb/mongodb.conf
文件创建完毕后目录应该是这样的
编写mongodb.conf配置文件:
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true
3、将mongodb服务加入环境变量
vim /etc/profile
在最后一行添加:
export PATH=$PATH:/usr/local/mongodb/bin
//或
//export MONGODB_HOME=/usr/local/mongodb
//export PATH=$MONGODB_HOME/bin:$PATH
使配置文件生效:
source /etc/profile
二、启动mongodb服务
1、在mongodb的安装目录下的bin目录下启动服务:
./mongod --config /usr/local/mongodb/mongodb.conf
踩坑:如果这里报错提示缺少xxx动态库就安装,或者降低mongodb版本重试
2、查看mongodb是否已经启动成功
netstat -lanp | grep "27017"
显示如下进程,说明已经成功启动。
3、 操作mongo数据库
任意目录下,输入命令mongo即可进入数据库,配置了环境变量的前提下,否则需要在mongodb安装目录下的bin目录下使用 ./mongo 命令
mongo
显示如下,已经成功进入mongo数据库了,默认是进入的是test数据库,show dbs 查看当前所有数据库。
注意:如果一个数据库是没有安全认证的,不使用用户名密码即可登陆,这样是不安全的,所以我们应当授予权限才能操作数据库,这样再企业中才能保证数据安全性。
三、添加用户、安全认证
首先必须使用admin数据库,进行新用户授权。
MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。
切换到 admin 数据库,并创建 root (管理员)用户:
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
创建好账号后,可以选择打开 mongodb.conf 中的 auth=true 授权验证。
验证账号是否授权成功:
db.auth("root","123456")
如果返回 ‘1’表示验证成功, 如果是 ‘0’ 表示验证失败
四、客户端远程连接
注意:(如果是阿里云服务器,记得设置mongodb端口开放规则27017)
推荐工具:
nosqlbooster官网下载链接
MongoDB Compass官网下载链接
Navicat 客户端远程连接 MongoDB
重要的一步
启用权限验证(别TM的武装了大半天,大门还一直开着,还抱怨我方防御塔怎么一直被摧毁)
安装数据库的第二天我就收到了来自黑客的要挟:All your data is a backed up. You must pay...
修改mongo.conf,添加
#启用权限访问
auth=true
重启服务