yum 安装
vim /etc/yum.repos.d/mongodb-org-4.2.repo
输入下面的内容并保存:
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
sudo yum install -y mongodb-org # 安装最新稳定版本
如果想安装其他版本,可以指定版本以及版本号安装:
sudo yum install -y mongodb-org-4.2.5 mongodb-org-server-4.2.5 mongodb-org-shell-4.2.5 mongodb-org-mongos-4.2.5 mongodb-org-tools-4.2.5
sudo systemctl start mongod # 启动服务
更多请参考:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
压缩包解压安装
首先下载从下面的页面选择合适的版本下载:
https://www.mongodb.com/download-center/community
对应 64 位 CentOS7.0 下载的是:
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.5.tgz
我们安装到 /home/mongodb-linux-x86_64-rhel70-4.2.5 下,首先将.tgz 文件传到 /home 下。
tar -xzvf ./mongodb-linux-x86_64-rhel70-4.2.5.tgz # 解压
cd mongodb-linux-x86_64-rhel70-4.2.5
# 创建相应的目录
mkdir conf
mkdir logs
mkdir data
vim ./conf/mongodb.conf # 创建配置文件
输入以下内容保存 (如果不习惯 vim 可用其他文本编辑工具):
port=27017 #端口
dbpath= /home/mongodb-linux-x86_64-rhel70-4.2.5/data #数据库存文件存放目录
logpath= /home/mongodb-linux-x86_64-rhel70-4.2.5/logs/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=1000 #最大同时连接数
noauth=true #不启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
创建两个 shell 脚本用来启动、停止数据库:
vim ./start.sh
输入以下内容保存:
#!/bin/bash
echo 'Start mongdb is begin ...'
./bin/mongod --config ./conf/mongodb.conf
echo 'Start mongdb is end ...'
vim ./stop.sh
输入以下内容保存:
#!/bin/bash
echo 'Stop mongodb is begin ...'
./bin/mongod -shutdown --config ./conf/mongodb.conf
echo 'Stop mongodb is end ...'
chmod 777 start.sh # 修改执行权限
chmod 777 stop.sh
启动数据库服务,设置连接密码:
./start.sh
./bin/mongo # 连接数据库
运行下面的命令创建管理员用户:
use admin;
db.createUser({
user:'admin',
pwd:'123456',
roles:[
{role:'readWrite', db:'admin'}
]
});
role 除了 readWrite,还有其他角色列表如下:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
再次编辑 ./conf/mongodb.conf,设置:
authorization: enabled #启用验证
重新启动 MongoDB 服务,可以用客户端连接测试一下:
./bin/mongo -u "admin" -p "123456" --authenticationDatabase "admin"
> use admin
> show dbs;
ENJOY! (完)
http://helloreact.cn
HoServer : 开箱即用后台服务和管理平台脚手架
HoAppBase : 开箱即用跨平台App脚手架