一、下载
https://www.mongodb.com/try/download/community
二、安装
1、上传并解压安装包
将下载的mongodb-linux-x86_64-rhel70-7.0.8.tgz上传放到服务器,解压后重命名
rz
//解压
tar -xvf mongodb-linux-x86_64-rhel70-7.0.8.tgz
//重命名
mv mongodb-linux-x86_64-rhel70-7.0.8 mongo-7.0.8
可以看到目录如下
2、创建数据和日志存储目录
在mongo-7.0.8目录下创建存储数据、日志的目录
在logs目录创建mongodb.log
3、软链接
将mongod软链接到/usr/bin,可以在任意路径下执行启动命令
ln -s /usr/local/mongo-7.0.8/bin/mongod /usr/bin/mongod
三、启动服务&&遇到的问题
mongod --fork --logpath "/usr/local/mongo-7.0.8/logs/mongodb.log" --dbpath "/usr/local/mongo-7.0.8/data"
1、bash:mongod: command not found
解决:
export PATH=/usr/local/mongo-7.0.8/bin:$PATH
2、mongod:error while loading shared libraries:libcrypto.so.10:cannot open shared object file:No such file or directory
这个问题试了很多方法都没解决,最后在这篇文章中找到了答案:linux丐中丐版本rpm安装nginx报错_compat-openssl10-1.0.2o-4.el8.aarch64.rpm-CSDN博客
执行下面两个命令解决:
wget https://repo.almalinux.org/almalinux/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm
rpm -ivh compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm
3、ERROE:child process failed, exited with 1
解决:启动命令中的logpath应该是/usr/local/mongo-7.0.8/logs/mongodb.log
启动成功!!!
四、安装mongo客户端
使用mongo命令 ,可能会显示bash: mongo: command not found
需要下载mongo客户端,下载链接:MongoDB Shell Download | MongoDB
上传到服务器,执行命令
rpm -i mongodb-mongosh-1.10.5.x86_64.rpm
可以看到,已经可以使用客户端操作数据库了
五、创建用户&&开启鉴权
如果想开启权限认证,有两种方式
- 在配置文件中将auth设置为true
- 在启动命令上添加auth
本来是想修改配置文件中auth的值,但是修改后没有鉴权也能操作数据库,可能是我哪里操作有错误,所以采用在启动命令添加auth的方式来做:
mongod --fork --logpath "/usr/local/mongo-7.0.8/logs/mongodb.log" --dbpath "/usr/local/mongo-7.0.8/data" --auth
关闭服务,使用上面的命令重启,已经设置开启鉴权,来验证是否生效,先不用用户名密码登录,db.stats()操作数据库,可以看到有提示需要认证
用户名密码登录后,在用db.stats()操作数据库,可以看到成功显示了数据,证明认证生效了。
六、远程连接
启动命令上添加bind_ip,并重启
mongod --fork --logpath "/usr/local/mongo-7.0.8/logs/mongodb.log" --dbpath "/usr/local/mongo-7.0.8/data" --auth --bind_ip "0.0.0.0"
可以使用Navicat,也可以使用MongoDB Compass,云服务器记得开放27017端口
附(启动命令常用选项说明:
)
--dbpath 指定数据库的目录。
--port 指定数据库端口,模式是27017。
--bind_ip 绑定IP。
--derectoryperdb为每个db创建一个独立子目录。
--logpath 指定日志存放目录。
--logappend 指定日志生成方式(追加/覆盖)。
--pidfilepath 指定进程文件路径,如果不指定,将不产生进程文件。
--keyFile 集群模式的关键标识
--journal 启用日志
--nssize 指定.ns文件的大小,单位MB,默认是16M,最大2GB。
--maxConns 最大的并发连接数。
--notablescan 不允许进行表扫描
--noprealloc 关闭数据文件的预分配功能
--fork 以后台Daemon形式运行服务
看到此处即是情,别忘记点个赞哦。如果有其他问题,欢迎评论,共同探讨!!!