CentOS 7.0 安装 MongoDB 4.2.5 并开启密

2020-04-08  本文已影响0人  JackZhangZzz

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,设置:

auth=true #启用验证

重新启动 MongoDB 服务,可以用客户端连接测试一下:

./bin/mongo -u "admin" -p "123456" --authenticationDatabase "admin"
> use admin
> show dbs;

ENJOY! (完)

http://helloreact.cn
HoServer : 开箱即用后台服务和管理平台脚手架
HoAppBase : 开箱即用跨平台App脚手架

上一篇下一篇

猜你喜欢

热点阅读