Mongodb数据库基础入门(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mongodb数据库基础入门(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5927字,纯文字阅读大概需要9分钟。
内容图文
![Mongodb数据库基础入门(一)](/upload/InfoBanner/zyjiaocheng/862/f0d4c2d02b784f9895b1af89fac7097d.jpg)
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
内容总结
以上是互联网集市为您收集整理的Mongodb数据库基础入门(一)全部内容,希望文章能够帮你解决Mongodb数据库基础入门(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。