一、CentOS7安装

A、在线安装:


创建/etc/yum.repos.d/mongodb-org-4.0.repo文件,编辑内容如下:

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc


运行以下命令安装最新版的mongodb:

sudo yum install -y mongodb-org

配置mongod.conf允许远程连接:

$ vim /etc/mongod.conf

# Listen to all ip address
bind_ip = 0.0.0.0

启动mongodb:

sudo service mongod start
创建管理员用户:

$ mongo

Mongodb参数设置详情见步骤三。


启用权限管理:

$ vim /etc/mongod.conf

#security 
security:
  authorization: enabled
重启mongodb:

sudo service mongod restart
大功告成!

B、离线安装:

二、上传文件到Linux上的/usr/local/source目录下

1. 首先在mongoDB下载路径下载mongoDB下载对应的版本.

或者

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.9-rc0.tgz

2.通过FTP工具将安装包上传到linux机器上面.

三、解压文件

1. 进入到/usr/local目录:

cd /usr/local

2. 运行如下命令:

tar -zxvf mongodb-linux-x86_64-rhel70-4.4.9-rc0.tgz

Mongodb安装_配置文件

2. 重命名

Mongodb安装_配置文件_02

四、创建配置文件

1. 创建数据库文件夹

cd /usr/local/mongodb
mkdir dbs

Mongodb安装_配置文件_03

2. 创建日志文件

切换到 /usr/local/mongodb目录下,创建数据库日志文件


cd /usr/local/mongodb

touch logs


3.后台运行mongod (./ 代表当前目录)

./mongod --dbpath=/usr/local/mongodb/dbs/ --logpath=/usr/local/mongodb/logs --fork

Mongodb安装_mongodb_04


4.以配置文件的方式启动

在bin目录下,新建mongod.conf,内容如下:

dbpath=/usr/local/mongodb/dbs
logpath=/usr/local/mongodb/logs
port=27017
logappend=true
fork=true
bind_ip = 0.0.0.0
#auth=true


输入 ./mongod -f mongod.conf 即可启动

五、设置mongodb开机自启服务


先切换到 该目录:

cd /lib/systemd/system

再创建 mongodb的一个服务 :

vi mongodb.service

# 输入以下内容:

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongod.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongod.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动服务:
systemctl start mongodb.service
停止服务:
systemctl stop mongodb.service
开机启动 :
systemctl enable mongodb.service

六、启动MongoDB

1. mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入

启动成功后,访问http://192.168.74.128:27017/ , 可以看到:

Mongodb安装_配置文件_05

2、添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)

利用mongo命令连接mongoDB服务器端:

Mongodb安装_配置文件_06

a.通过非授权的方式启动mongo

b.创建admin数据库

> use adminswitched to db admin

c.添加管理员用户> db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

成功后,你将会看到:

Mongodb安装_mongodb_07

注:添加完用户后可以使用show users或db.system.users.find()查看已有用户.


3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭.


4、使用权限方式启动MongoDB

在配置文件中添加:auth=true , 然后启动:

Mongodb安装_配置文件_08

5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。

Mongodb安装_配置文件_09

> use admin

> db.auth("pfnieadmin","123456") #认证,返回1表示成功

七、将mongod路径添加到系统路径中,方便随处执行mongod命令

1. 在/etc/profile文件中,添加 export PATH=$PATH:/usr/local/mongoDB/mongodbserver/bin

Mongodb安装_mongodb_10

2. 执行source /etc/profile,使系统环境变量立即生效

Mongodb安装_mongodb_11

八、将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令

1. 执行命令: ln -s /usr/local/mongoDB/mongodbserver/bin/mongo /usr/bin/mongo

Mongodb安装_mongodb_12

九、测试是否方便随处执行mongo命令

1. 回到任意路径下,执行mongo命令,连接mongod服务

Mongodb安装_配置文件_13

2. 关闭mongod服务,执行db.shutdownServer()

Mongodb安装_配置文件_14

2017-04-20T18:32:26.865+0800 E QUERY [thread1] Error: shutdownServer failed: {"ok" : 0,"errmsg" : "not authorized on admin to execute command { shutdown: 1.0 }","code" : 13} :_getErrorWithCode@src/mongo/shell/utils.js:25:13DB.prototype.shutdownServer@src/mongo/shell/db.js:302:1@(shell):1:1

解决办法,执行下面的语句,添加权限:

db.updateUser(
 "pfnieadmin",
        {
           roles : [
                     {"role" : "userAdminAnyDatabase","db" : "admin"},
                     {"role" : "dbOwner","db" : "admin"},
                     {"role" : "clusterAdmin", "db": "admin"}
                   ]
        }
 )

然后在执行db.shutdownServer().

Mongodb安装_mongodb_15

或者执行下面的命令关闭:

killall mongod

3. 启动mongod服务

mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf

Mongodb安装_配置文件_16


十、MongoDB设置为系统服务并且设置开机启动

1.通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。2.首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod3.打开编辑器后,我们将下面的配置粘贴进去,然后保存

[Unit]

Description=mongodb

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongod.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongod.conf

PrivateTmp=true

[Install]

WantedBy=multi-user.target

4.保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod 5.启动MongoDB,service mongod start 如下图所示,则说明启动成功:

Mongodb安装_配置文件_17

6.可以使用命令service mongod stop关闭MongoDB服务。7. 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。

二、CentOS8安装

1、制作 repo 文件

使用 vim 创建repo文件
sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo
输入如下配置到repo文件,然后保存,退出vim
[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

2、使用yum 命令安装  
sudo yum install -y mongodb-org

3、启动mongodb
sudo service mongod start
sudo service mongod stop
sudo service mongod restart

4、开放 mongodb 的远程连接
mongodb的配置文件是 /etc/mongod.conf

如果要开放远程访问需要修改该文件的 bindIp值为: 0.0.0.0 ,否则通过其它电脑是连接不到的。

文件修改后要执行 restart 使配置生效

5、打开防火墙

firewall-cmd --permanent --zone=public --add-port=27017/tcp
firewall-cmd --reload

三、设置Auth认证

>use admin;
>db.createUser({user:"mongo_admin",pwd:'Sd!_e2022#Hinge',roles:["root"]}); 
>db.auth("mongo_admin","Sd!_e2022#Hinge");
> exit