ubuntu18.04 安装mongodb
一.安装mongodb
1.root用户下,执行
sudo apt-get install mongodb
2.查看mongo进程
pgrep mongo -l
3.制定mongo的数据库文件夹位置和日志位置
进入 /usr/bin,运行
./mongod --dbpath /var/lib/mongodb/ --logpath /var/log/mongodb/mongodb.log --logappend &
--dbpath:指定mongo的数据库文件夹
--logpath:指定mongo的log日志
4.mongo的关闭与开启
# 关闭
sudo service mongodb stop
# 开启
sudo service mongodb start
5.开启mongo远程访问
vi /etc/mongodb.conf
注释掉本地绑定,开启端口和密码验证
#bind_ip=127.0.0.1
port=27017
auth=true
6.添加用户
# 进入mongo mongo # 使用admin账户 use admin # 创建用户 db.createUser({user:"root",pwd,"root",roles:["root"]}) # 验证 db.auth("root","root") # 返回1 成功 # 查看用户 db.system.users.find()
二.升级为副本集
1.在/var/lib/mongodb 下创建3个rs
mkdir -p rs0/data/lib mkdir -p rs1/data/lib mkdir -p rs2/data/lib
2.在/var/lib/mongodb 下创建3个log目录
mkdir -p rs0/log mkdir -p rs1/log mkdir -p rs2/log
3.创建三个配置文件 mongodb.cfg 放置在 rs0 rs1 rs2 下
rs0
dbpath=/var/lib/mongodb/rs0/data/db logpath=/var/lib/mongodb/rs0/log/mongo.log logappend=true port=27017 fork=true auth=false journal=true quiet=true replSet=upmsSet
rs1
dbpath=/var/lib/mongodb/rs1/data/db logpath=/var/lib/mongodb/rs1/log/mongo.log logappend=true port=27018 fork=true auth=false journal=true quiet=true replSet=upmsSet
rs2
dbpath=/var/lib/mongodb/rs2/data/db logpath=/var/lib/mongodb/rs2/log/mongo.log logappend=true port=27019 fork=true auth=false journal=true quiet=true replSet=upmsSet
4.开启三个mongo
cd /usr/bin ./mongod -f /var/lib/mongodb/rs0/mongodb.cfg ./mongod -f /var/lib/mongodb/rs1/mongodb.cfg ./mongod -f /var/lib/mongodb/rs2/mongodb.cfg
5.登录mongo
./mongo
6.初始化mongo
use admin # 配置 config= {_id:"upmsSet",members:[ {_id:0,host:"0.0.0.0:27017"}, {_id:1,host:"0.0.0.0:27018"}, {_id:2,host:"0.0.0.0:27019"}] } # 初始化配置 rs.initiate(config); # 查看状态 upmsSet:PRIMARY> rs.status()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)