第一次接触mongodb,不足之处日后再补充,通过查阅得知,mongodb版本与平台OS有关,我的服务器是centos8.2,所以选择是这样的:
最新稳定版mongodb4.4(第二位为偶数稳定版),红帽平台centos8.2,文件既可以选择rpm(server),也可以选择tgz(shell)压缩包形式,可以直接donwload,也可以点右侧 copy link复制链接地址,
然后wget https://fastdl.mongodb.org/linux/mongodb-shell-linux-aarch64-rhel82-4.4.6.tgz 直接下载到服务器上
下面这个样子忍了5分钟放弃,直接下载的包复制到服务器的
下载完成后,将下载的 MongoDB 解压,并将解压后的文件夹重命名为 mongodb ,执行命令如 下
tar -zxvf mongodb-shell-linux-aarch64-rhel82-4.4.6.tgz
mv mongodb-linux-aarch64-rhel82-4.4.6 /usr/local/mongodb #移动文件夹到/usr/local/
这个版本后续并不能执行,辗转换了几个版本都不行,最后用了 mongodb-linux-aarch64-rhel82-4.4.6.tgz 才可以运行,但是步骤是一致的
配置环境变量,使系统认识mongo命令,
vi /etc/profile
#添加此配置
export PATH=/usr/apk/mongodb/mongodb-linux-x86_64-rhel70-4.2.5/bin:$PATH
# 保存退出
esc :wq
# 更新一下
source /etc/profile
创建两个文件夹分别作为数据文件目录和日志目录
cd /usr/local/mongodb
mkdir data
mkdir -p logs/mongodb.log
创建配置文件
cd /usr/local/mongodb/bin
vi mongodb.conf
内容如下
#mongodb配置文件
port=27017 #端口
bind_ip=0.0.0.0 #默认是127.0.0.1
dbpath=/usr/local/mongodb/data #数据文件地址
logpath=/usr/local/mongodb/logs/mongodb.log #日志文件
fork=true #设置后台运行
#auth=true #开启认证
logappend=true #日志输出方式
防火墙放行
# 放行 27017 端口号 使用默认的
firewall-cmd --zone=public --add-port=27017/tcp --permanent
# 查看放行端口号
firewall-cmd --list-ports
# 重启防火墙
firewall-cmd --reload
如果启动时报错,记得把mongodb.conf的 fork=true注释,便可以看清具体错误原因
mongod --config /usr/local/mongodb/bin/mongodb.conf
然后输入mongo,可连接
默认情况下,启动后连接的是 MongoDB 中的 test 库,而关闭 MongoDB 的命令需要在 admin 库中执行 因此关闭 MongoDB 需要首先切换到 admin库中, 然后执行 db.shutdownServer() ;命令,完 整操作步骤如下:
默认情况下,启动的Mongodb没有登录密码,在生产环境中这是非常不安全的,但是不同于Mysql,Oracle等关系型数据库,MongoDb中每一个库都有独立的密码,在哪个库中创建的用户,就要在哪个库中验证密码。要配置密码,,首先要创建一个用户,例如在admin库中创建一个用户,代码如下:
use admin;
#创建所有数据库管理用户
db.createUser({user:"userAdmin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
#创建单个数据库用户
db.createUser({user:"sang",pwd:"123456",roles:[{role:"readWrite",db:"test"}]})
#客户端连接:
mongo ip:port/库名 -u用户名 -p密码
关闭命令,这样是最保险的了,结束进程会出问题
mongod --shutdown --dbpath /usr/local/mongodb/data/