MongoDB Linux环境安装及配置[转]
CentOS 6.5系统中使用yum安装MongoDB 2.6 教程
CentOS 6.5系统中使用yum安装MongoDB 2.6 教程,本文共分5个步骤完成MongoDB的安装.下面我们在CentOS 6.5 x64系统上安装最新的MongoDB 2.6.0版。
之前的MongoDB v2.4.x版的软件仓库有两个包:
1)mongo-10gen-server
此包里面有最新版的mongod和mongos守护程序以及相关的配置和初始化脚本。
2)mongo-10gen
此包里面有最新版的所有MongoDB工具。这些工具方便你管理MongoDB系统。
但在MongoDB v2.6.0版的软件仓库一共有五个包:
1)mongodb-org
此包是元数据包,它可以实现自动安装下面的4个组件包。
2)mongodb-org-server
此包里面有mongod守护程序,以及相关的配置和初始化脚本。
3)mongodb-org-mongos
此包里面有mongos守护程序。
4)mongodb-org-shell
此包里面有mongo shell环境。
5)mongodb-org-tools
此包里面有以下的MongoDB工具:mongoimport、bsondump、mongodump、mongoexport、mongofiles、mongoimport、mongooplog、mongoperf、mongorestore、mongostat以及mongotop。
控制脚本:mongodb-org包里面有各种控制脚本,包括初始化脚本/etc/rc.d/init.d/mongod使用/etc/mongod.conf配置文件来对MongoDB进行配置。
MongoDB 2.6.0版不再有mongos的控制脚本。mongos进程只用于分片的场景。你可以使用mongod初始化脚本来驱动mongos控制脚本。
要安装最新的64位MongoDB 2.6.0版,步骤如下:
1、创建mongodb.repo文件
在/etc/yum.repos.d/目录下创建文件mongodb-org-2.6.repo,它包含MongoDB仓库的配置信息,内容如下:
touch /etc/yum.repos.d/mongodb-org-2.6.repo --创建mongodb-org-2.6.repo文件
vim /etc/yum.repos.d/mongodb-org-2.6.repo --编辑mongodb-org-2.6.repo文件
[mongodb-org-2.6]
name=MongoDB 2.6 Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
2、执行安装命令
yum install -y mongodb-org
3、修改/etc/mongod.conf文件
-----------------------XShell 5-------------------------------------
sed -i 's/^logpath=\/var\/log\/mongodb\/mongod.log/logpath=\/data\/mongo\/mongod.log/g' /etc/mongod.conf
sed -i 's/^dbpath=\/var\/lib\/mongo/dbpath=\/data\/mongo/g' /etc/mongod.conf
sed -i 's/^bind_ip=127.0.0.1/#bind_ip=127.0.0.1/g' /etc/mongod.conf
sed -i 's/^#quota=true/quota=false/g' /etc/mongod.conf
sed -i 's/^#port=27017/port=181/g' /etc/mongod.conf
mkdir -p /data/mongo
chown -R mongod:mongod /data/mongo
-------------------------------shell-------------------------------------
vi /etc/mongod.conf
logpath=/var/log/mongodb/mongod.log 修改mongodb数据库日志文件的存放位置/data/mongo/mongod.log
dbpath=/var/lib/mongo 修改mongodb数据库文件的存放位置/data/mongo(记得修改所有者和所有组为mongod:chown -R mongod:mongod /data/mongo)
bind_ip=127.0.0.1 注释掉
#quota=true 取消注释改为quota=false
---------------------shell---------------------------
mkdir -p /data/mongodb
chown -R mongod:mongod /data/mongodb
4、启动\停止\重起\自启动MongoDB
service mongod start
service mongod stop
service mongod restart
chkconfig mongod on
5、验证MongoDB
可以通过检查日志文件/var/log/mongodb/mongod.log的内容来判断mongod进程是否正常运行。
6、设置MongoDB防火墙
iptables -I INPUT -p tcp --dport 27017 -j ACCEPT service iptables save service iptables restart cat /etc/sysconfig/iptables
service mongod start
7、添加登陆用户并授权(配置Mongo副本集不能添加用户)
mongo 127.0.0.1:27017/admin 连接mongodb服务器
mongo 127.0.0.1:27017/admin -u用户名 -p密码 连接mongodb服务器(用户名和密码)
db.addUser("sa","1234") 添加用户sa,设置密码1234 db.auth("sa","1234") 添加sa用户登录授权
db.system.users.find() 查看所有用户 show users 或者这个命令
exit 退出MongoDB
8、设置MongoDB必须使用登陆用户登录(配置Mongo副本集不用设置这里)
service mongod stop
vi /etc/mongod.conf
#noauth=true 改成 noauth=false #auth=true 取消注释
service mongod start
MongoDB配备多大内存合适?
宽泛点来说,多多益善,如果要确切点来说,这实际取决于你的数据及索引的大小,内存如果能够装下全部数据加索引是最佳情况,不过很多时候,数据都会比内存大,比如本文所涉及的MongoDB实例:
mongo> db.stats() { "dataSize" : 1004862191980, "indexSize" : 1335929664 }
本例中索引只有1G多,内存完全能装下,而数据文件则达到了1T,估计很难找到这么大内存,此时保证内存能装下热数据即可,至于热数据是多少,取决于具体的应用,你也可以通过观察faults的大小来判断当前内存是否能够装下热数据,如果faults持续变大,就说明当前内存已经不能满足热数据的大小了。如此一来内存大小就明确了:内存 > 索引 + 热数据,最好有点富余,毕竟操作系统本身正常运转也需要消耗一部分内存。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现