偶然得了一本书,AmosQ.Haviv 所著 《MEAN Web开发》。起初并不知道这啥东西,看了下目录发现正好有讲MongoDB而已。当时的项目正好需要做MongoDB的内容,之后这书就被扔一边没时间看了。

昨天有时间了就翻出来看了下,发现MEAN和我以为的MEAN不是一回事。

这里又先挖一个新坑,【MEAN Web 系列】

当然本篇仅仅关于CentOS7下安装MongoDB并服务化运行(开机启动)

可能是我的CentOS Yum版本不够,直接使用yum install 命令找不到MongoDB的安装包。那就还是用原始的做法,从官网下载最新版本 3.2.3的tgz包。

MongoDB的安装非常容易,解压到指定位置然后通过命令行启动,前边步骤和Windows下安装没有太多区别。大致截图说明一下即可。

1. 下载及解压:

  我把程序放到/usr/local/mongodb/下,命令很简单:

cd /usr/local/
cp /home/user/Desktop/SoftWare/mongodb-linux-x86_64-3.2.3.tgz ./
tar -zxvf mongodb-linux-x86_64-3.2.3.tgz
mv mongodb-linux-x86_64-3.2.3 mongodb

  如此可以得到最终的mongodb文件夹,里边的文件结构如下:

  

  其中,bin文件夹里是mongoDB的主程序目录,内部包涵各种所需的可执行文件。

2. 配置db数据文件路径和日志路径

MongoDB的数据库文件需要单独制定一个db文件夹,内部文件将被自动创建。 日志文件也在安装配置时自动创建。我们这里默认放在安装目录内

  即: /usr/local/mongodb/data/ 和 /usr/local/mongodb/logs/

3. 命令行直接启动:

  我们来看下/bin目录内:

  

  其中重点关注的是 mongod 和mongo两个可执行文件。

  实际上,mongod是相当于服务器端程序,mongo是客户端程序。两个程序是完全命令行化的操作,并且直接支持js的语法格式。

  启动命令如下:

  

mongodb/bin/mongod --dbpath mongodb/data/ --logpath mongodb/logs/log -fork
#mongod 用于管理服务器端, 命令行启动需要指定其data文件夹路径和日志路径。

  运行效果如图:

  

  

  用子客户端连接测试:

  

  看到红框里的内容,只要没有报其他的错误便是连接成功。

  当然这里有警告,因为我是以sudo权限启动的,这样做并不安全。

4. 配置MongoDB 专用账户

5. 配置MongoDB 开机自启动

6. 基本操作测试

  通过mongod命令将MongoDB启动后,若未使用fork参数指定后台运行,则mongoDB的服务端将在当前终端里显示运行日志。

  

如图,看到waiting for connections on port 27017即说明启动成功。27017是mongoDB默认的端口。

启动另一个终端以进行mongo (客户端)操作命令:首先是连接mongodb服务端:

客户端使用mongo命令后,由于此处为本地访问故可以省略访问的ip,这样默认会创建到127.0.0.1:27017的服务的连接。在客户端看到显示Connectiong to: test 后,证明连接成功。 test是默认创建的数据库。同时在服务端可以看到红框中的信息,表示有客户端进行了连接。

一些基本的操作命令包括创建数据库、创建表、数据增删查改、删除表、删除数据库,以下一一演示。

首先创建数据库非常简单:

use xxx即可,xxx为用户指定的数据库名称。

use 相当于选择数据库的作用,如果不存在所指定名称的数据库将默认新建一个。

当然此时并不会有数据,亦不会有对应的数据库文件生成。仅当用户创建了新表并写入数据后才会真正去创建文件。

现在来观察:对这个我们定义的新的db对象内建表并插入数据后会怎样。

在仅仅选择了createdTest这个db后,我们用show dbs 命令并没有看到除了默认的local以外的db库。

而当我们对这个db中新建了表(在mongoDB中无表概念,而是Collection,它与表是有本质不同的)并插入数据,情况就完全变了。

我们使用如下命令进行插入操作

db.testCol.insert()
/* db代表当前所选db,
testCol是由用户指定的Collection对象,
若缺省则新建,
insert()为插入方法,后跟具体的Bson数据对象。 */

再使用show collections命令后,看到已经创建出testCol这个Collection。

当然此时再使用show dbs命令则会看到我们指定的createdTest 数据库了。

数据的查、删、改操作如下:

//Query For all data
db.[collection].find()
//Query for asigned data
db.[collection].find([query condition]) //update ,base update command
db.[collection].update([targerItem], $set[update filed & data]} //delete a row of data
db.[collection].remove([query condition],[justOne=true/false])
/* the justOne param when setting to false or not given, then the remove command will
  delete all rows which are accord with the query condition.
*/

如果要清理某个collection,与主流数据库类似有drop方法。

一个测试: 我们先观察在删除了db中唯一一个collection里的所有数据后,collection是否还存在

find方法已经查不到数据了,而collection还存在,当然db也存在。

那要删除这个collection后又如何呢?

我们看到 drop的方法返回true代表清理成功。

而此时collections已经确实没有内容了,另外由于我们删除了当前db中唯一的collection,dbs也就一并被删除了。

如果是以命令 mongod方式打开了MongoDB的服务,需要关闭有两种操作。

1). 启动时没有提供 --fork参数

  关闭mongod运行终端即可

2). 启动时通过 --fork方式启动

  

//shut down server command
use admin
db.shutdownServer()

  

首先需要切换到admin数据库(与Oracle等类似)

之后使用shutdownServer命令即可。

应该注意的是该命令仅在本地mongo客户端或经验证方式登陆的客户端中使用有效。

效果如图:

客户端:

服务端:

基本操作如上所述。mongoDB虽然轻量但内容绝对不止这么点。之后将继续整理笔记写完这个专题。

感谢阅读。

  

【MEAN Web开发】CentOS 7 安装MongoDB 3.2.3的更多相关文章

  1. centos yum 安装 mongodb 以及php扩展

    centos yum 安装 mongodb 以及php扩展 投稿:hebedich 字体:[增加 减小] 类型:转载 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用 ...

  2. Centos 下安装MongoDB

    Centos 下安装MongoDB 一.安装方法 方法(一) 1  配置包管理系统 创建/etc/yum.repos.d/mongodb.repo 文件,当然我们使用的是64位系统,32位的情况不再考 ...

  3. 阿里云Centos 7安装MongoDB 4.2.0

    背景:最近公司项目需要将后台接口优化到100ms内.因此需要对接口逻辑,数据优化做处理, 正好使用到了Redis缓存,mysql,mongoDB的优化,今天记录一下在阿里云centos上安装mongo ...

  4. CentOS上安装mongodb

    安装mongodb pymongo修改yum源vi /etc/yum.repos.d/10gen.repo[10gen]name=10gen Repositorybaseurl=http://down ...

  5. 在CentOS上安装 MongoDB

    安装是在线安装方式,因此必须先保证能正常上网. 安装mongodb,官方的安装文档,是在线安装方式: https://docs.mongodb.com/manual/tutorial/install- ...

  6. win10开发环境下安装mongodb

    MongoDB 下载 https://www.mongodb.com/download-center/community 在win10系统安装mongodb需要vc++运行库,如果没有则会提示“无法启 ...

  7. centos下安装mongodb和php的mongo扩展

    安装MongoDB 1.下面安装MongoDB,先下载: cd /usr/src wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2 ...

  8. centos下安装mongodb 通过shell脚本

      #! /bin/bash yum -y update echo -e "开始安装mongodb\n" download_url=https://fastdl.mongodb.o ...

  9. centos yum安装mongodb,php扩展

    一,安装mongodb,php扩展 ? 1 [root@localhost ~]# yum install php-pecl-mongo mongodb mongodb-devel mongodb-s ...

随机推荐

  1. Node.js实战8:可用于压缩、加密的zlib。

    zlib是nodejs内置的模块,有deflate.inflate函数,使用的是gzip算法,可用于压缩和解压,也可用于数据加密.解密. 如下示例: var zlib = require(" ...

  2. linux下的SSHD被连接端口修改

    连接别人:vim /etc/ssh/ssh_config 被连接: vim /etc/ssh/sshd_config 端口重启生效: /etc/init.d/sshd restart

  3. Excel VBA 判断工作表是否为空或被使用过(比如设置过框线)

    IsEmpty 函数 返回 Boolean 值,指出变量是否已经初始化. [语法] IsEmpty(expression) 必要的 expression 参数是一个 Variant,包含一个数值或字符 ...

  4. vue+element Form键盘回车事件页面刷新解决

    问题描述:如下代码所示,使用element-ui 中的el-form组件对table进行条件查询,当查询条件仅有一项时,使用@keyup.enter.native事件绑定回车事件,出现点击回车后,浏览 ...

  5. 防止 iframe 的链接重定向父级页面

    项目中发现,多系统通过iframe嵌套时,如果iframe的请求是重定向会导致父级页面重定向,怎么破? 查找MDN(https://developer.mozilla.org/zh-CN/docs), ...

  6. python学习shutil模块的文件压缩和解压用法

    shutil模块可以创建压缩包并返回文件路径,例如 zip,tar,下面详细其用法 base_name 压缩包的文件名,也可以是压缩包的路径,只是文件名时,则保存至当前目录,否则保存指定路径 data ...

  7. Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介)

    原文:Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介) 版权声明:本文为博主原创文章,遵循CC 4.0 BY ...

  8. 系统盘(c盘)空间清理方法总结(转)

      我们一般会把系统安装在C盘,但是使用一段时间后会发现C盘的空间越来越少.尤其我们做开发的,会在电脑中装上很多软件的.比如我的机器上C盘空间15G,平时安装软件时只要可以选择我都会把它装到其他盘的, ...

  9. html a标签链接点击闪动问题解决

    <a href="#">链接点击会闪动,解决: 这三种都可以用:<a href="javascript:;"></a>< ...

  10. kubernetes之二 使用minikube创建单节点k8s本地集群

    使用Minikube来运行kubernetes集群是最简单.快捷的途径.Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用.官方安装minikube教程请 ...