Mongodb数据库基础入门(一)

Mongodb介绍

Mongodb是一个基于分布式文件存储的数据库,由C 语言编写,为WEB应用提供可扩展的高性能数据存储解决方案

Mongodb是一款介于关系型数据库与非关系型数据库之间的产品, Mongodb是不同于以往的如redis、memcached,它是一种叫文档数据库,存储的是文档(bson-->json的二进制化)

特点:

最大的特点是支持查询语言非常强大,内部执行的引擎是JS解释器,把文档存储成bson结构,查询时将文档转换成JS对象文件,并通过熟悉JS语法来操作

同传统数据库比较:

1、传统数据库是结构化数据,有表结构,每一行内容是符合表结构,且列的类型也一样

2、mongodb数据库是以文档形式存储数据,每一个文档都是有自己独特的结构(js对象)与属性、值,因此它没有特定的规范与格式

Mongodb安装

官方网站:http://mongodb.org

下载最新的stable版本

[root@mingongge ~]# cd /usr/local/src/

[root@mingongge src]# wget https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.6.tgz

[root@Centos-2 src]# tar zxf mongodb-linux-x86_64-rhel62-3.4.6.tgz

[root@Centos-2 src]# cd mongodb-linux-x86_64-rhel62-3.4.6

[root@Centos-2 mongodb-linux-x86_64-rhel62-3.4.6]# cd bin/

[root@Centos-2 bin]# ll

total 277780

-rwxr-xr-x 1 root root 10431547 Jul  6 02:23 bsondump

#二进制导出(bson结构)

-rwxr-xr-x 1 root root 29870496 Jul  6 02:48 mongo

#客户端

-rwxr-xr-x 1 root root 54389424 Jul  6 02:48 mongod

#服务端

-rwxr-xr-x 1 root root 12771652 Jul  6 02:24 mongodump

#导出数据库

-rwxr-xr-x 1 root root 10783691 Jul  6 02:23 mongoexport

#导出易识别的json文档或CSV

-rwxr-xr-x 1 root root 10668482 Jul  6 02:23 mongofiles

-rwxr-xr-x 1 root root 10942731 Jul  6 02:23 mongoimport

-rwxr-xr-x 1 root root 10433507 Jul  6 02:24 mongooplog

-rwxr-xr-x 1 root root 53753432 Jul  6 02:48 mongoperf

-rwxr-xr-x 1 root root 14070941 Jul  6 02:24 mongoreplay

-rwxr-xr-x 1 root root 14127528 Jul  6 02:24 mongorestore

#导入数据库

-rwxr-xr-x 1 root root 30539024 Jul  6 02:48 mongos

#路由器(分片)

-rwxr-xr-x 1 root root 11003296 Jul  6 02:23 mongostat

#状态

-rwxr-xr-x 1 root root 10631445 Jul  6 02:24 mongotop

[root@Centos-2 src]# mv mongodb-linux-x86_64-rhel62-3.4.6 /usr/local/mongodb

[root@Centos-2 src]# cd /usr/local/mongodb/

启动服务

创建数据目录与日志目录

[root@Centos-2 ~]# mkdir /data/mongodb -p

[root@Centos-2 ~]# mkdir /data/mongodblog -p

[root@Centos-2 mongodb]# ./bin/mongod --dbpath /data/mongodb/ --logpath /data/mongodblog/mongo.log --fork --port 27017

about to fork child process, waiting until server is ready for connections.

forked process: 19027

child process started successfully, parent exiting

[root@Centos-2 mongodb]# lsof -i :27017

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

mongod 19027 root 7u IPv4  48419 0t0 TCP *:27017 (LISTEN)

参数说明:

--dbpath  指定数据存储目录

--logpath  指定日志存储目录

--fork   后台运行

--port   指定端口(默认27017)

连接数据库

[root@Centos-2 mongodb]# ./bin/mongo

MongoDB shell version v3.4.6

connecting to: mongodb://127.0.0.1:27017

MongoDB server version: 3.4.6

Server has startup warnings:

2017-07-29T10:36:50.683 0800 I STORAGE  [initandlisten]

2017-07-29T10:36:50.683 0800 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine

2017-07-29T10:36:50.683 0800 I STORAGE  [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem

2017-07-29T10:36:51.494 0800 I CONTROL  [initandlisten]

2017-07-29T10:36:51.494 0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.

2017-07-29T10:36:51.494 0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.

2017-07-29T10:36:51.494 0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.

2017-07-29T10:36:51.494 0800 I CONTROL  [initandlisten]

2017-07-29T10:36:51.495 0800 I CONTROL  [initandlisten]

2017-07-29T10:36:51.495 0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.

2017-07-29T10:36:51.495 0800 I CONTROL  [initandlisten] **   We suggest setting it to 'never'

2017-07-29T10:36:51.495 0800 I CONTROL  [initandlisten]

2017-07-29T10:36:51.495 0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.

2017-07-29T10:36:51.496 0800 I CONTROL  [initandlisten] **  We suggest setting it to 'never'

2017-07-29T10:36:51.496 0800 I CONTROL  [initandlisten]

2017-07-29T10:36:51.496 0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 7671 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files.

2017-07-29T10:36:51.496 0800 I CONTROL  [initandlisten]

报错解决方法如下:

WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine

强烈建议使用带WiredTiger存储引擎的XFS文件系统

WARNING:Access control is not enabled for the database.

意思是:未对数据库启用访问控制,对数据和配置的读写访问不受限制

解决方法:开启数据库的认证就可以解决

在配置文件mongod.conf中开启,如下:

security:

authorization: enabled

WARNING:/sys/kernel/mm/transparent_hugepage/enabled is 'always'.

#cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

关闭命令:

#echo never > /sys/kernel/mm/transparent_hugepage/enabled

WARNING:/sys/kernel/mm/transparent_hugepage/defrag is 'always'.

将/sys/kernel/mm/transparent_hugepage/defrag设置为never

#cat /sys/kernel/mm/transparent_hugepage/defrag

[always] madvise never

关闭命令:

echo never >/sys/kernel/mm/transparent_hugepage/defrag

WARNING:soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000

设置ulimit

vi /etc/security/limits.conf

mongod soft nofile 64000

mongod hard nofile 64000

mongod soft nproc 32000

mongod hard nproc 32000

重启mongodb服务后重新登陆

[root@Centos-2 mongodb]# ./bin/mongo

MongoDB shell version v3.4.6

connecting to: mongodb://127.0.0.1:27017

MongoDB server version: 3.4.6

> show databases;

admin  0.000GB

local  0.000GB

> show dbs;   #查看当前的数据库

admin  0.000GB #管理数据库

local  0.000GB

来源:https://www.icode9.com/content-2-900801.html

(0)

相关推荐

  • 15分钟从零开始搭建支持10w+用户的生产环境(三)

    上一篇文章介绍了这个架构中,选择MongoDB做为数据库的原因,及相关的安装操作. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(二)   三.WebServer 在SOA和gRPC大行其 ...

  • centos7安装Mongodb4.2.9版本及php扩展

    访问Mongodb官网https://www.mongodb.com/try/download/community,右侧有选择项,这里选择centos7+tgz+4.2.9选择项. [root@gua ...

  • MySQL多实例安装教程

    MySQL的多实例 目录 MySQL的多实例 实验准备: 准备阶段: 实验阶段 实验准备: 1. 一个干净的centos7系统2. 关闭防火墙和selinux3. 之前已经二进制安装过的MySQL数据 ...

  • MySQL数据库基础学习教程,MySQL从入门到精通

    MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的 RDBMS:关系数据库管理系统应用软件之一. MySQL体积小.速度快,性能优异,也是目前企业实际开发中最广泛应用的 ...

  • PPT|锂电池基础入门科普

    PPT|锂电池基础入门科普

  • 八字基础知识 八字基础入门

    八字基础知识八字基础入门 八字基础知识八字基础入门 展开

  • 八字基础入门01

    八字基础入门01 八字基础入门01 展开

  • 相术大概框架:看相基础入门

    相学广义上包括相人术,相地术,相兽术.地师学相地,伯乐学相兽,民间广为流传的为相人术.相人术里包含面相.体相.骨相-- 框架核心: 观人先统观.统观五行,次观六征,再观八相,分九宫,定五官十二宫,意统 ...

  • 国开电大 数据库基础与应用 形考任务答案

    形考任务1 题目1:在利用计算机进行数据处理的四个发展阶段中,第三个发展阶段是( ). 人工管理 分布式数据库系统 数据库系统 文件系统 题目2:属性的取值范围被称为( ). 域 联系 码 实体 题目 ...

  • FIND函数基础入门与深入理解

    Excel情报局 OFFICE 爱好者大本营 用 1% 的Excel 基础 搞定 99%的 职场工作 做一个有价值感的Excel公众号 Excel是门手艺   玩转需要勇气 数万Excel爱好者聚集地 ...

  • 零基础入门课程又来了,这一次的内容,完整练下来会很过瘾!

    瑜伽零基础入门计划第14周的序列又来了. 这周课程的安排,总体来说已经比瑜伽馆大课中,给基础会员安排的训练难度和强度都要提高一点了.特别是站姿部分,如果你能够全程连续跟下来,并且每个体式都能保持5到8 ...

  • 学习Python选择哪个版本好?基础入门!

    随着人工智能时代的到来,Python语言变得越来越火爆,成为当下非常重要的编程语言,那么现在学习Python选择哪个版本好呢?Python哪个发展方向好?我们一起来看看吧. 学习Python选择哪个版 ...