Linux下MongoDB安装和配置详解

一、创建MongoDB的安装路径

在/usr/local/ 创建文件夹mongoDB

mkdir mongoDB

img

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

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

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

img

三、解压文件

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

cd /usr/local/source

\2. 运行如下命令: tar -zxvf mongodb-linux-i686-3.2.13-rc0.gz -C /usr/local/mongoDB

img

\2. 重命名

img

四、创建配置文件

\1. 创建数据库文件夹

cd /usr/local/mongoDB/mongodbserver

mkdir data

img

\2. 创建日志文件夹

cd /usr/local/mongoDB/mongodbserver

mkdir log

img

\3. 创建配置文件夹与配置文件

3.1 创建配置文件夹etc

cd /usr/local/mongoDB/mongodbserver

mkdir etc

img

3.2 创建配置文件mongodb.conf

cd /usr/local/mongoDB/mongodbserver/etc

vim mongodb.conf

复制代码

dbpath=/usr/local/mongoDB/mongodbserver/data
logpath=/usr/local/mongoDB/mongodbserver/logs/mongodb.log
port=27017
fork=truejournal=false
storageEngine=mmapv1

复制代码

五、启动MongoDB

\1. mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可,如下所示:

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

img

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

img

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

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

img

> use admin switched to db admin > db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

成功后,你将会看到:

img

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

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

4、使用权限方式启动MongoDB

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

img

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

img

> use admin

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

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

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

img

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

img

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

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

img

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

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

img

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

img

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:13 DB.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().

img

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

killall mongod

\3. 启动mongod服务

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

img

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

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

复制代码

start() {  
/usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
}  
 
stop() {  
/usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf --shutdown  
}  
case "$1" in  
start)  
start  
;;  
 
stop)  
stop  
;;  
 
restart)  
stop  
start  
;;  
*)  
echo  
$"Usage: $0 {start|stop|restart}"  
exit 1  
esac

复制代码

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

img

6.可以使用命令service mongod stop关闭MongoDB服务。

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

 


Linux安装mongodb数据库最新版 一、下载安装包 二、安装mongodb 1、使用Xftp将压缩包上传到指定目录下: 2、创建mongodb数据存储文件和日志文件 3、将mongodb服务加入环境变量 二、启动mongodb服务 1、在mongodb的安装目录下的bin目录下启动服务: 2、 查看mongodb是否已经启动成功 3、 操作mongo数据库 三、添加用户、安全认证 四、客户端远程连接 五、防火墙端口开放 1、开启防火墙 2、防火墙状态 3、设置防火墙mongo放行端口 4、重启防火墙 5、查看防火墙放行端口 6、关闭防火墙端口 7、开启设置防火墙 最后 一、下载安装包 官网地址:https://www.mongodb.com/ 你也可以下载我提供的链接,下载即可,版本是4.013的

链接:https://pan.baidu.com/s/1S00NGBkaUzDR2-C8AzXovg 提取码:zxmf

二、安装mongodb 1、使用Xftp将压缩包上传到指定目录下:

cd /usr/local/
mkdir mongodb
tar -zxvf mongodb-linux-x86_64-4.0.13 #文件名根据你自己的压缩包文件名来

2、创建mongodb数据存储文件和日志文件

cd /usr/local/mongodb/
mkdir data
mkdir logs
cd ./logs
touch mongodb.log
cd ../
mkdir etc
cd etc
touch mongodb.conf

mongodb.conf配置文件:

#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true

3、将mongodb服务加入环境变量

vi /etc/profile

在最后一行添加:

export PATH=$PATH:/usr/local/mongodb/mongodb-linux-x86_64-4.0.13/bin

使配置文件生效:

source /etc/profile

二、启动mongodb服务

1、在mongodb的安装目录下的bin目录下启动服务:

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

在这里插入图片描述

2、 查看mongodb是否已经启动成功

netstat -lanp | grep "27017"

显示如下进程,说明已经成功启动。

在这里插入图片描述

3、 操作mongo数据库 任意目录下,输入命令mongo即可进入数据库,配置了环境变量的前提下,否则需要在mongodb安装目录下的bin目录下使用 ./mongo 命令

mongo

显示如下,已经成功进入mongo数据库了,默认是进入的是test数据库,show dbs 查看当前所有数据库。

在这里插入图片描述

注意:如果一个数据库是没有安全认证的,不使用用户名密码即可登陆,这样是不安全的,所以我们应当授予权限才能操作数据库,这样再企业中才能保证数据安全性。

三、添加用户、安全认证 首先必须使用admin数据库,进行新用户授权。

MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。

输入以下命令:

db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

在这里插入图片描述

授权成功后,关闭mongo服务:

db.shutdownServer()

显示如下,即已经成功关闭服务:

在这里插入图片描述 查看mongo服务进程,可看到服务已经成功停掉了。

在这里插入图片描述 然后需要到配置文件中修改配置,启用安全认证。 在这里插入图片描述

#开启认证,必选先添加用户
auth=true

最后开启mongo服务,进入数据库测试:

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

show dbs此时看不到任何数据库,说明我们的安全认证用户配置生效了。

在这里插入图片描述

首先使用use admin通过db.auth(‘root’,‘密码’) 输出1就是验证成功。

use admin
db.auth('root','123456')

在这里插入图片描述

四、客户端远程连接

注意:(如果是阿里云服务器,记得设置mongodb端口开放规则27017)

官网下载链接:https://nosqlbooster.com/downloads

该工具支持Windows、Linux 和 Mac OS、而且免费可放心下载。 在这里插入图片描述

下载后直接打开:

在这里插入图片描述 输入验证用户名和密码,以及数据库(随便填已有的数据库名称):

在这里插入图片描述 连接成功:

在这里插入图片描述

或者你也可以这样测试:ip+默认端口号:

在这里插入图片描述 这样也是连接成功了,并且外网ip也可以访问mongo数据库了。

五、防火墙端口开放

注意:如果外网ip不能访问、也就是客户端无法连接,可能是需要放行防火墙端口。

比如防火墙放行8080端口、80端口等。

在这里插入图片描述

1、开启防火墙

systemctl start firewalld

2、防火墙状态

systemctl status firewalld

3、设置防火墙mongo放行端口

–permanent代表永久开启:

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

4、重启防火墙

firewall-cmd --reload

5、查看防火墙放行端口

firewall-cmd --list-ports

6、关闭防火墙端口

firewall-cmd --zone=public --remove-port=27017/tcp --permanent

7、开启设置防火墙

(1)设置开机启用防火墙:systemctl enable firewalld.service

(2)设置开机禁用防火墙:systemctl disable firewalld.service

命令含义:

–zone #作用域 –add-port=9200/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效

注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效


 

 

Linux安装mongoDB步骤和方法

  1. 下载mongoDB数据库

      mongodb-linux-x86_64-3.0.15.tgz

  1. 存放到linux文件夹中

      ftp软件直接拖上去

  1. 解压文件夹(解压后,会多了一个没有后缀的文件,即非压缩文件包)

      tar -zxvf mongodb-linux-x86_64-3.0.15.tgz

  1. 复制到/usr/local/mongoDB

      mv mongodb-linux-x86_64-3.0.15 /usr/local/mongoDB

  1. 创建配置文件

      路径:/root/mongodb/mongodb-linux-x86_64-3.0.15

      在mongodb文件夹再里创建三个文件夹:

      mkdir data //用来存放数据库数据

      mkdir logs //用来存放日志文件

      mkdir etc //用来存放配置文件

  1. 进入到logs文件夹里创建 mongo.log文件:

      touch mongo.log

  1. 再到etc文件夹里创建 mongo.conf文件:

      touch mongo.conf

  1. 通过vi命令打开mongo.conf编辑内容:

      vi mongo.conf

  1. 输入上面命令后,进入编辑模式,按下 i 即可输入,输入的内容为:

      //自己安装的路径

      dbpath=/usr/local/mongoDB/mongodb-linux-x86_64-3.0.15/data

      //自己安装的路径

      logpath=/usr/local/mongoDB/mongodb-linux-x86_64-3.0.15/logs/mongo.log logappend=true

      journal=true

      quiet=true

      port=27017 //端口号

 

  1. 配置环境变量

      vi /etc/profile

 

      export MONGODB_HOME=/usr/local/mongoDB/mongodb-linux-x86_64-3.0.15

      export PATH=$PATH:$MONGODB_HOME/bin

 

      source /etc/profile

    如图:

     img

 

  1. 启动mongoDB

    Bin目录:

      /usr/local/mongoDB/mongodb-linux-x86_64-3.0.15/bin

      方式一:./mongod -f /usr/local/mongoDB/mongodb-linux-x86_64-3.0.15/etc/mongo.conf --fork

      方式二:mongod -f /usr/local/mongoDB/mongodb-linux-x86_64-3.0.15/etc/mongo.conf --fork

    如图:

     img

 

  1. 访问mongoDB

    /usr/local/mongoDB/mongodb-linux-x86_64-3.0.15/bin/mongo

    如图:

     img

 

posted on 2022-08-11 08:52  root-123  阅读(3080)  评论(0编辑  收藏  举报