当前位置:首页 > CN2资讯 > 正文内容

linux使用mongodb教程 linux mongodb

2天前CN2资讯


Linux下搭建MongoDB环境

1.MongoDB简单说明


     a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案。


  b MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。它支持的数据结构非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式,字段值可以包含其它文档、数组和文档数组,因此可以存储比较复杂的数据类型。

  c MongoDB最大的特点就是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系型数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2.准备工作

  a 通过上面简单的介绍之后我们已经了解了MongoDB的基本信息,那么接下来我们首先需要在Linux下搭建它并且来使用它。

  b MongoDB包下载地址:Try MongoDB Atlas Products | MongoDB

c 操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp, MongoDB包。

3.MongoDB安装

  a 通过上面简单的准备工作之后,我们已经拥有了可以安装的包和发布的环境,如果上面没有准备充分,请自行准备,下面我们开始进行搭建环境

b 使用XShell连接Centos,连接成功后使用命令跳转到local下面创建自己的文件夹kencery,在此文件夹下面创建mongoDB文件夹,命令如下:
 

[root@localhostTEST ~]# cd /usr/local [root@localhostTEST local]# mkdir kencery [root@localhostTEST local]# cd kencery/ [root@localhostTEST kencery]# mkdir mongoDB [root@localhostTEST kencery]# cd mongoDB/

c 然后使用Xftp将在上面下载的mongoDB包(mongodb-linux-x86_64-3.2.8.tgz)复制到mongoDB文件夹里面,并且将包解压,解压之后命名为mongoDB,如图所示:

[root@localhostTEST mongoDB]# tar -zxvf mongodb-linux-x86_64-rhel70-3.2.22.tgz [root@localhostTEST mongoDB]# mv mongodb-linux-x86_64-rhel70-3.2.22 mongodb

d 跳转到mongodb下进行操作(cd mongodb/),e自己创建两个文件夹:一个是db,一个是logs,db文件夹的作用是存放数据库目录,logs文件夹的作用是存放mongoDB的操作日志信息。

[root@localhostTEST mongoDB]# cd mongodb [root@localhostTEST mongodb]# mkdir db [root@localhostTEST mongodb]# mkdir logs


  f 添加完成之后,启动mongoDB,验证是否安装成功,这里指定的数据库目录选项为mongodb下创建的db,命令如下,如图所示,则提示启动成功。

./bin/mongod --dbpath /usr/local/kencery/mongoDB/mongodb/db          

g 重新打开一个连接页面,验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。不要把启动页面关闭。

4.MongoDB配置

a 通过上面的MongoDB安装,我们已经将其安装成功并且启动,但是发现启动太过于麻烦,所以需要我们自己给MongoDB配置配置文件,因MongoDB开发者没有配置样例,所以需要我们自己去创建并且写入内容。

b 首先我们在mongoDB解压之后的包里面进行操作,执行以下命令,打开编辑器。 [root@localhostTEST bin]# cd /usr/local/kencery/mongoDB/mongodb    [root@localhostTEST bin]# vim bin/mongodb.conf

c 打开编辑器之后将如下图所示的内容写入到编辑器中,保证是正确的,如果你的安装地址和我的不一致,则需要自己修改路径,编辑完成之后保存。

#数据文件存放目录 dbpath =/usr/local/kencery/mongoDB/mongodb/db #日志文件存放目录 logpath =/usr/local/kencery/mongoDB/mongodb/logs/mongodb.log #端口 port = 27017 #以守护程序的方式启动,即在后台运行 fork = true #日志输出方式,使用追加的方式写日志 logappend=true #PID File 的完整路径,如果没有设置,则没有PID文件 pidfilepath=/usr/local/kencery/mongoDB/mongodb/mongo.pid #关闭http接口,默认关闭27018端口访问 #nohttpinterface = true #声明这是一个集群的分片,默认端口27018 shardsvr=true #设置每个数据库将被保存在一个单独的目录 #directoryperdb=true #开启认证 #auth=true #设开启简单的rest API,置后打开28017网页端口 rest = true d MongDB请命令参数说明:

e 返回至 mongodb目录,使用如下命令重新启动mongoDB,看是否配置文件起作用,命令如下

./bin/mongod --config /usr/local/kencery/mongoDB/mongodb/bin/mongodb.conf

启动失败了,MongoDB已经处于启动状态,没有关闭成功,需要处理一下。

查杀mongodb进程:[root@localhostTEST mongodb]# ps -ef | grep mongoKill -2 PID,不要用 kill -9 PID,只需要查杀配置文件的启动进程[root@localhostTEST mongodb]# kill -2 9026重新启动 MongoDB:./bin/mongod --config /usr/local/kencery/mongoDB/mongodb/bin/mongodb.conf f 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。 5.MongoDB设置为系统服务并且设置开机启动 a 通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。 b.首先添加MongoDB系统服务,命令如下: [root@localhostTEST mongodb]# vim /etc/rc.d/init.d/mongod   c 打开编辑器后,我们将下面的配置粘贴进去,然后保存 ulimit -SHn 655350 #!/bin/sh # chkconfig: - 64 36 # description:mongod case $1 in start) /usr/local/kencery/mongoDB/mongodb/bin/mongod --maxConns 20000 --config /usr/local/kencery/mongoDB/mongodb/bin/mongodb.conf ;; stop) /usr/local/kencery/mongoDB/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" ;; status) /usr/local/kencery/mongoDB/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()" ;; esac d 保存完成之后,添加脚本执行权限,命令如下: [root@localhostTEST mongodb]# chmod +x /etc/rc.d/init.d/mongod

e 启动MongoDB,如下图所示,则说明启动成功

[root@localhostTEST mongodb]# service mongod start

但是直接启动发现失败了,需要先停止已经启动的mongodb进程,kill -2 pid

f 可以使用命令service mongod stop关闭MongoDB服务。 [root@localhostTEST mongodb]# service mongod stop [root@localhostTEST mongodb]# service mongod start

g 将此服务设置为开机启动,命令如下:chkconfig mongod on,然后重新启动机器进行测试,发现开机服务应启动并且端口也在使用中。

[root@localhostTEST mongodb]# chkconfig mongod on

  h 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。

6.MongoDB 后台管理 Shell

如果你需要进入 mongodb 后台管理,你需要先打开 mongodb 装目录的下的 bin 目录,然后执行 mongo 命令文件。

MongoDB Shell 是 MongoDB 自带的交互式 Javascript shell,用来对 MongoDB 进行操作和管理的交互式环境。 当你进入 mongoDB 后台后,它默认会链接到 test 文档(数据库): [root@localhostTEST bin]# ./mongo MongoDB shell version: 3.2.22 connecting to: test

由于它是一个JavaScript shell,您可以运行一些简单的算术运算,退出使用exit.

> 2+2 4 > exit bye 再次登录mongodb后台,插入一些简单的数据,并对插入的数据进行检索 [root@localhostTEST bin]# ./mongo 插入数据,检索数据(第一个命令将数字 10 插入到 runoob 集合的 x 字段中。) > db.runoob.insert({x:10}) WriteResult({ "nInserted" : 1 }) > db.runoob.find() { "_id" : ObjectId("6038a3ac15fbb0c58c47bf69"), "x" : 10 } >

7. Navicat 12.1客户端访问mongoDB数据库

Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,

它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL,mongodb,让管理不同类型的资料库更加的方便。


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25706.html

    分享给朋友:

    “linux使用mongodb教程 linux mongodb” 的相关文章

    如何选择高性能、美西VPS服务商: 比较、评测及优化建议

    美西VPS概述 美西VPS,简单来说,就是那些位于美国西部地区的虚拟专用服务器,像在洛杉矶这样的城市里。这些服务器给用户提供了一种灵活而高效的托管解决方案,特别是对于需要快速访问和低延迟连接的用户群体。美西VPS的设计理念是为用户提供高性能和高可靠性的服务,同时确保在数据传输时的安全性。 美西VPS...

    深入了解ICMP协议及其在网络管理中的应用

    ICMP(Internet Control Message Protocol,互联网控制消息协议)是TCP/IP协议族中的一种重要网络协议。我们可以把ICMP想象成网络中的信使,它主要负责在网络中传递控制消息和错误报告。这种功能对于维护网络的正常运作至关重要,让网络管理员能够及时发现并处理问题。IC...

    提升跨境业务体验:CN2GIA全球互联网接入服务解析

    在当今数字化时代,网络服务的质量直接影响着企业的发展。CN2GIA,即“Global Internet Access”,是中国电信为了提升国际网络服务而推出的一项高端业务。为了满足不断增长的国际市场需求,CN2GIA 的出现标志着中国电信在建设下一代网络上的重要一步。它的目标是为用户提供更优质的国际...

    阿里云新用户优惠活动详解:如何高效利用云服务

    作为阿里云的新用户,我感到兴奋,因为阿里云为像我这样的新手提供了许多优惠和服务,让我能轻松地体验云产品。首先,我们来聊聊什么是阿里云新用户。简单来说,阿里云会通过是否购买过云产品来判断我是否是新用户,而并非仅仅看注册时间。这意味着,只要我没有购买过云服务,就能享受到新用户的特权。 新用户的权益和优惠...

    反向代理的工作原理与应用场景详解

    反向代理概述 反向代理,听起来似乎有点复杂。实际上,这是一个位于客户端和服务器之间的“中间人”,它对客户端是透明的。换句话说,客户端并不知道有这个反向代理的存在。它的主要任务是接收客户端的请求,然后把这些请求转发给后端的服务器,再把服务器的响应返回给客户端。想象一下,反向代理就像一个邮递员,负责将信...

    如何选择便宜的海外服务器来提升业务效率

    什么是海外服务器 海外服务器简单来说,就是在国外数据中心托管的服务器。那些需要在国外提供服务和访问的企业或者个人,会选择这种类型的服务器。比起本地服务器,海外服务器往往能提供更好的网络速度和稳定性,尤其是对某些特定的地区来说。如果你有过在网上购物或者访问国际网站的经历,或许你会发现他们的响应速度比一...