安装MongoDB
1.查看系统版本#
cat /etc/redhat-release
uname -a
2.安装基本软件包#
yum install vim wget lsof gcc gcc-c++ bzip2 net-tools bind-utils -y
3.yum安装mongodb#
3.1 编辑 /etc/yum.repo.d/mongo.repo
#
若没有则创建
[mongodb-org]
name=MongoDB Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/
gpgcheck=0
enabled=1
这里使用清华镜像,速度较快
3.2 安装#
yum install mongodb-org -y
3.3查看是否安装成功#
mongod -version
显示版本内容则安装成功
[root@zkserver]# mongod -version
db version v4.4.2
Build Info: {
"version": "4.4.2",
"gitVersion": "15e73dc5738d2278b688f8929aee605fe4279b0e",
"openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel70",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
4.服务配置#
4.1 配置文件#
vim /etc/mongodb.conf
mongodb的参数说明:
- --dbpath 数据库路径(数据文件)
- --logpath 日志文件路径
- --master 指定为主机器
- --slave 指定为从机器
- --source 指定主机器的IP地址
- --pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
- --logappend 日志文件末尾添加
- --port 启用端口号
- --fork 在后台运行
- --only 指定只复制哪一个数据库
- --slavedelay 指从复制检测的时间间隔
- --auth 是否需要验证权限登录(用户名和密码)
4.2将mongod服务加到开机启动服务#
systemctl start mongod
systemctl enable mongod
4.3测试数据库是否正常#
mongo admin
添加admin用户名密码,使用创建的用户登录MongoDB:
> use admin
switched to db admin
> show users
> db.createUser({user:"admin",pwd:"password",roles:["root"]})
Successfully added user: { "user" : "admin", "roles" : [ "root" ] }
> db.auth("admin", "password")
1
4.4防火墙添加27017端口#
iptables -L | grep ACCEPT
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload
iptables -L | grep ACCEPT
4.5配置远程访问#
修改 /etc/mongodb.conf
将 bing_ip
修改为0.0.0.0
关闭防火墙或者添加允许27017的规则
关闭selinux
作者:ChanceySolo
出处:https://www.cnblogs.com/chancey/p/9848893.html
版权:本作品采用「ChanceySolo-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!