1.配置
服务器:CentOS-7
电脑:windowns 10 64位
服务器连接工具:FinalShell
mongoDB:4.2.18
mongoDB连接工具:NoSqlBooster
2.下载地址
mongoDB
1.官网下载地址:https://www.mongodb.com/
2.百度网盘下载地址:下载 提取码:ssgo
mongoDB连接工具
官网下载地址:https://nosqlbooster.com/downloads
3.创建mongoDB安装目录
mkdir /usr/local/mongodb
cd /usr/local/mongodb
使用FinalShell把mongoDB安装包导入到linux服务器中。
4.创建mongoDB数据存储地址、日志、配置文件,解压mongoDB
cd /usr/local/mongodb mkdir data mkdir logs
cd /usr/local/mongodb/logs touch mongodb.log
cd /usr/local/mongodb mkdir etc
cd /usr/local/mongodb/etc touch mongodb.conf
cd /usr/local/mongodb
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.18.tgz
5.编辑mongoDB配置文件
vim /usr/local/mongodb/etc/mongodb.conf
注意:如果新安装的CentOS-7 报错:-bash:vim:未找到命令。请执行下面的命令 或者使用 vi 编辑器。
yum -y install vim*
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
6.将mongoDB服务加入到环境变量中、并刷新配置文件
编辑配置文件:
vim /etc/profile
在最后一行添加:
export PATH=$PATH:/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.18/bin
刷新配置文件:
source /etc/profile
7.启动mongoDB服务
cd /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.18/bin
./mongod --config /usr/local/mongodb/etc/mongodb.conf
8.查看mongoDB是否启动成功
netstat -lanp | grep "27017"
9.操作数据库
在任意路径下执行命令:
mongo
注意:如果一个数据库是没有安全认证的,不使用用户名密码即可登陆,这样是不安全的,所以我们应当授予权限才能操作数据库,这样再企业中才能保证数据安全性。
10.添加数据库用户、安全认证
MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。
用户授权在admin数据库中:
use admin
创建用户添加权限
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
授权成功后关闭数据库:
db.shutdownServer()
11.修改配置文件、启用安全登录认证
vim /usr/local/mongodb/etc/mongodb.conf
把最后一段安全登录认证打开
12.重启mongDB服务
cd /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.18/bin
./mongod --config /usr/local/mongodb/etc/mongodb.conf
13.客户端远程连接
下载NoSqlBooster,并打开连接
输入验证用户名和密码,以及数据库:
连接成功:
14.如果客户端连接不上可能是因为防火墙的原因
检查防火墙状态:
systemctl status firewalld.service
这种情况是防火墙正在运行。
关闭防火墙:
systemctl stop firewalld.service
在此查看防火墙状态:
systemctl status firewalld.service
防火墙已经关闭。