1.准备工作
#确保系统已更新:
sudo yum update -y
# 如果没有yum源 请进行配置 如果配置yum源请忽略
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
###安装epel源
yum install -y epel-release
2.添加 MongoDB 官方仓库
cat >> /etc/yum.repos.d/mongodb-org-7.0.repo << 'EOF'
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
EOF
3.安装 MongoDB 7.0.17
sudo yum install -y mongodb-org-7.0.17 mongodb-org-server-7.0.17 mongodb-org-mongos-7.0.17 mongodb-org-shell-7.0.17 mongodb-org-tools-7.0.17
4. 配置&启动 MongoDB 服务
cat > /etc/mongod.conf << 'EOF'
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
# how the process runs
processManagement:
# timeZoneInfo: /usr/share/zoneinfo
fork: true
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 #这个改为0.0.0.0
security:
authorization: enabled
EOF
#启动 MongoDB
sudo systemctl start mongod
#设置开机自启动
sudo systemctl enable mongod
#检查服务状态
sudo systemctl status mongod
. 验证 MongoDB 安装&创建管理员用户
#连接到 MongoDB
mongosh
#切换到 admin 数据库
use admin
#创建管理员用户
db.createUser({
user: "admin",
pwd: "admin_mes",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})
#重新用admin权限连接
mongosh -u admin -p admin_mes --authenticationDatabase admin
#创建库
use modulemes_info
#创建库的用户
db.createUser({
user: "mongo_mes",
pwd: "123456",
roles: [{ role: "readWrite", db: "modulemes_info" }]
})
#校验库的用户
db.auth("mongo_mes", "123456")
#插入测试数据 不然连接不显示库名
db.test_collection.insertOne({ name: "init" })
6. 权限问题MongoDB(默认是配置好的,如报错可以按权限进行排查)
以上配置文件内的目录路径需配置权限
chown mongod:mongod /tmp/*.sock
chown mongod:mongod /var/log/mongodb
chown mongod:mongod /var/lib/mongo
添加防火墙规则(如开启防火墙)
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload