初识NoSQL新秀

说到数据库,除了咱们熟悉的关系型数据库,还有一位当红小生——NoSQL(可不是”不SQL”哦,人家全名是Not Only SQL)。今天要介绍的MongoDB就是这个家族的明星成员,作为基于分布式文件存储的文档型数据库,特别适合处理灵活的数据结构。下面就以RedHat 6.5系统为舞台,带大家体验源码安装MongoDB 3.6的全过程!

准备工作不能少

环境清单

✅ 操作系统:RedHat Enterprise Linux 6.5 x64
✅ 数据库版本:MongoDB 3.6.3 x64

系统配置二板斧

  1. 关闭防火墙
    新手建议先关防火墙,避免各种连接问题:
1
2
3
service iptables stop
# 看到这些OK提示就稳了
iptables: Setting chains to policy ACCEPT: filter [ OK ]
  1. 关闭SELINUX
    临时关闭更方便后续操作:
1
setenforce 0

安装实战全记录

下载解压一条龙

1
2
3
4
5
# 官方源下载安装包
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.3.tgz

# 解压到指定目录
tar -xzvf mongodb-linux-x86_64-rhel62-3.6.3.tgz -C /opt/

环境变量配置秘籍

编辑~/.bash_profile文件,添加这行让命令随处可用:

1
export PATH=/opt/mongodb-linux-x86_64-rhel62-3.6.3/bin:$PATH

专属用户不能少

1
useradd -M -s /sbin/nologin mongodb  # 创建无登录权限的系统用户

启动数据库有讲究

数据存储要到位

1
2
mkdir -p /data/db
chown -R mongodb:mongodb /data # 权限要给足

启动姿势二选一

✅ 基础启动:

1
mongod --dbpath /data/db

✅ 高级模式(带日志记录):

1
mongod --auth --dbpath=/data/db --logpath=/data/mongod.log --logappend

看到这行日志说明启动成功啦:

1
[initandlisten] waiting for connections on port 27017

连接测试小技巧

1
2
3
4
mongo --host 127.0.0.1:27017
# 进入后输入ping测试
> db.runCommand({ping:1})
{ "ok" : 1 } # 出现这个响应就稳了

安全防护必修课

创建管理员账户

  1. 先以无认证模式启动:
1
mongod --dbpath /data/db
  1. 连接后创建超级管理员:
1
2
3
4
5
6
use admin
db.createUser({
user: "admin",
pwd: "你的强力密码",
roles: ["userAdminAnyDatabase"]
})

普通用户创建指南

1
2
3
4
5
6
use your_database
db.createUser({
user: "app_user",
pwd: "安全密码",
roles: ["readWrite"]
})

启用认证要注意

修改启动命令加上–auth参数,或者更推荐使用配置文件:

1
2
3
4
5
# /etc/mongodb.conf 示例
dbpath = /data/db
logpath = /data/mongod.log
auth = true
bind_ip = 0.0.0.0 # 按需修改

避坑指南大全

常见报错急救包

🚨 连接被拒:

1
exception: connect failed

✅ 检查项:

  1. mongod进程是否运行
  2. 防火墙是否关闭
  3. 是否绑定正确IP

身份验证小贴士

1
2
3
4
5
6
# 新版推荐写法
db.auth({
user: "用户名",
pwd: "密码",
mechanism: "SCRAM-SHA-1"
})

总结提升

通过配置文件启动既专业又方便,推荐生产环境使用。记得定期备份/data/db目录,重要数据加–auth防护。遇到问题先看/data/mongod.log日志,报错信息会给你指明方向。快动手试试,开启你的MongoDB之旅吧!