mongodb 下载安装
一、下载
mongodb 在4.4及以后的版本中,把mongo shell 这个客户端单独作为一个项目拆分出来了,所以安装时需要下载两个安装包,即服务端和客户端,在4.4之前的版本,只需要下载一个安装包即可,该安装包里既包含服务端又包含客户端。1.1、mongdb 服务端下载
下载地址:https://www.mongodb.com/try/download/community
选择对应的版本和操作系统然后下载即可,如下图
注意:这里选择tgz包下载
旧版本在这里下载
1.2、mongo shell 下载
二、安装
1、创建相关目录,并上传两个安装包
# 安装包上传目录
mkdir -p /opt/software/mongodb
# 配置文件目录
mkdir /etc/mongod-cnf
# 数据和系统日志目录
mkdir -p /opt/software/mongodb/{data,log}
2、创建账号并授权
useradd mongod
chown -R mongod:mongod /opt/software/mongodb
chown -R mongod:mongod /etc/mongod-cnf
3、配置mongod账号的sudo权限
visudo
mongod ALL=(ALL) NOPASSWD: ALL
然后保存退出即可
4、下载依赖包
sudo yum install libcurl openssl xz-libs
5、配置文件句柄数
vim /etc/security/limits.conf
root soft nofile 655350
root hard nofile 655350
mongod soft nofile 655350
mongod hard nofile 655350
然后退出窗口重新登录即可生效
查看命令:
ulimit -a
6、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
7、确保SElinux不是enforcing(强制执行)模式
getenforce
如果 SELinux 已被禁用,该命令将输出 Disabled,默认一般都是关闭的。
# 以下步骤切换到mongod账号下执行
8、解压安装包
[mongod@ob9 mongodb]$ cd /opt/software/mongodb
[mongod@ob9 mongodb]$ tar -zxvf mongodb-linux-x86_64-rhel70-6.0.16.tgz
[mongod@ob9 mongodb]$ tar -zxvf mongosh-2.2.15-linux-x64.tgz
[mongod@ob9 mongodb]$ mv mongodb-linux-x86_64-rhel70-6.0.16 mongodb-6.0.16
[mongod@ob9 mongodb]$ mv mongosh-2.2.15-linux-x64 mongosh-2.2.15
9、配置环境变量
[mongod@ob9 mongodb]$ vim ~/.bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/software/mongodb/mongodb-6.0.16/bin:/opt/software/mongodb/mongosh-2.2.15/bin
[mongod@ob9 mongodb]$ source ~/.bash_profile
10、编辑配置文件
cat > /etc/mongod-cnf/mongodb.conf << EOF
systemLog:
destination: file
###日志存储位置
path: /opt/software/mongodb/log/mongod.log
logAppend: true
storage:
##journal配置,类似mysql的redo
journal:
enabled: true
##数据文件存储位置
dbPath: /opt/software/mongodb/data
##是否一个库一个文件夹
directoryPerDB: true
##数据引擎
engine: wiredTiger
##WT引擎配置
wiredTiger:
engineConfig:
##WT最大使用cache(根据服务器实际情况调节)
cacheSizeGB: 4
##是否将索引也按数据库名单独存储
directoryForIndexes: true
##端口配置
net:
port: 27017
bindIpAll: true
processManagement:
fork: true
pidFilePath: /opt/software/mongodb/data/mongod.pid
##复制集配置
##replication:
##oplog大小
##oplogSizeMB: 2000
##复制集名称
##replSetName: rs01
# 此处第一次需要是关闭状态(否则启动后由于没有默认用户名密码,会导致无法在外部连接),在设置好用户名密码后再开启安全验证然后重启mongodb
security:
authorization: disabled ## enabled
#clusterAuthMode: keyFile
#keyFile: /data1/mongodb/27017/keyFile/mongo.key
##服务器参数配置
#setParameter:
# <parameter1>: <value1>
EOF
11、启动mongodb
[mongod@ob9 mongodb]$ mongod -f /etc/mongod-cnf/mongodb.conf
# 查看是否启动
ps -ef |grep mongodb
12、创建管理员账号,注意此时尚未开启身份验证
# 连接mongdb
mongosh --host=192.168.167.160 --port=27017
连进去默认是test库,要切换到admin库
test> use admin
switched to db admin
admin> db.createUser({user: "root",pwd: "111111",roles: ['root']})
{ ok: 1 }
13、修改配置文件并重启
# 把数据库的身份验证开关打开
security:
authorization: enabled ## disabled
# 关闭mongod服务
mongod --shutdown --dbpath /opt/software/mongodb/data/
# 启动mongodb
mongod -f /etc/mongod-cnf/mongodb.conf
# 连接命令
mongosh --host 192.168.167.160 --port 27017 --authenticationDatabase admin -u root -p 111111
三、一个小技巧
启动时,mongosh 会检查mongodb运行用户的 HOME 目录中是否有名为 .mongoshrc.js 的 JavaScript 文件。 如果找到此文件,mongosh 会在首次显示提示之前加载 .mongoshrc.js 的内容。如下所示:su - mongod
vim ~/.mongoshrc.js
{
let cmdCount = 0;
const hostnameSymbol = Symbol('hostname');
prompt = () => {
if (!db[hostnameSymbol])
db[hostnameSymbol] = db.serverStatus().host;
return (cmdCount++) + " " + `${db.getName()}@${db[hostnameSymbol]}:${db.adminCommand("getCmdLineOpts").parsed.net.port}>`;
};
}
# 则mongo shell 连接后看到的是下面这样的
[mongod@ob9 mongodb]$ mongosh --host=192.168.167.160 --port=27017 -u root -p 111111
1 test@ob9:27017>
解释:
数字1表示行号
test@ob9:27017,库名@主机名:端口号
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix