MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
下载安装
wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/RPMS/mongodb-org-server-6.0.6-1.el7.x86_64.rpm sudo rpm -ivh mongodb-org-server-6.0.6-1.el7.x86_64.rpm
创建相关目录
sudo mkdir -p /usr/local/mongodb/data /usr/local/mongodb/log /usr/local/mongodb/bin
创建 MongoDB 用户和组
sudo groupadd mongod sudo useradd -r -g mongod -s /sbin/nologin mongod
赋予权限
sudo chown -R mongod:mongod /usr/local/mongodb
配置 MongoDB
sudo vi /etc/mongod.conf
内容:
systemLog: destination: file path: /usr/local/mongodb/log/mongod.log logAppend: true storage: dbPath: /usr/local/mongodb/data journal: enabled: true processManagement: fork: true net: bindIp: 0.0.0.0 port: 27017 #security: # authorization: enabled
创建启动脚本
vi /usr/local/mongodb/bin/start.sh
内容:
#!/bin/bash # 设置MongoDB的启动命令 /usr/bin/mongod --config /etc/mongod.conf # 启动MongoDB echo "正在启动MongoDB..." $sleep 5 echo "MongoDB启动完成."
设置执行权限
sudo chmod +x /usr/local/mongodb/bin/start.sh
创建 systemd 服务文件
sudo vi /etc/systemd/system/mongodb.service
内容:
[Unit] Description=mongodb-server After=network.target [Service] Type=forking ExecStart=/usr/local/mongodb/bin/start.sh [Install] WantedBy=multi-user.target
重新加载服务列表
sudo systemctl daemon-reload
开放27017 端口
sudo firewall-cmd --permanent --add-port=27017/tcp sudo firewall-cmd --reload
启动并设置开机启动
sudo systemctl enable mongodb sudo systemctl start mongodb sudo systemctl status mongodb
无需密码,通过27017端口连接上MongoDB,添加DB和用户
use ops; db.createUser({ user: "admin", pwd: "gt123456", roles: [ { role: "dbOwner", db: "ops" } // dbOwner 角色赋予用户该数据库的所有权限 ] });
配置 MongoDB为需要密码访问
sudo vi /etc/mongod.conf
以下内容放开注释
#security: # authorization: enabled
重启MongoDB
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
发表评论: