介绍 MongoDB
MongoDB 是一款开源文档数据库具有高性能、高可能、自动扩展的特性。
文档数据库
记录在MongoDB中是文档,文档是由列值对组成的数据结构。MongoDB的文档类似JSON对象。
列值可以包括其它文档、数组、文档数组等。
使用文档的优点:
- 文档对应编程语言的本地数据类型
- 嵌入的文档和数组降低了昂贵的join关联操作
- 动态模式支持流畅的多态性。Dynamic schema supports fluent polymorphism.
数据库排名
MongoDb在db-engines中 在所有数据库中排名第5,在Document数据库中排名第1。
https://db-engines.com/en/ranking


数据库安装
从 版本3.4开始,MongoDB不再支持 32-bit x86平台,支持的OS有Linux、MacOS、Windows,具体支持os版本请参考对应MongoDB版本的官方安装文档。
MongoDB有两个发行版本:社区版和企业版。
在Linux平台支持rpm包和tarball安装,本文以 centos 7 和tarball方式安装。
软件下载MongoDb .tgz tarball
下载地址: https://www.mongodb.com/try/download/community

关闭透明大页
vi /etc/rc.local
### rhel
if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled;then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag;then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
fi
### centos
if test -f /sys/kernel/mm/transparent_hugepage/enabled;then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag;then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
### 检查设置结果
#### rhel
cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
#### centos
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
创建所需用户和组
useradd mongod passwd mongod
创建mongodb所需目录结构
mkdir -p /mongodb/conf mkdir -p /mongodb/log mkdir -p /mongodb/data
上传并解压软件
cd /soft/ tar -xf mongodb-linux-x86_64*.tgz cp -r /soft/mongodb-linux*/bin/ /mongodb/
设置目录结构权限
chown -R mongod:mongod /mongodb
设置用户环境变量
su - mongod cat >> /home/mongod/.bash_profile <<EOF export PATH=/mongodb/bin:\$PATH EOF source .bash_profile
启动mongodb
mongod --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb.log --port=27017 --logappend --fork
登录mongodb
[mongod@htdb2 ~]$ mongo
MongoDB shell version v3.6.17
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8ec8095a-0566-4ebc-a26c-8d6740993cf6") }
MongoDB server version: 3.6.17
Server has startup warnings:
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten]
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten]
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost.
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server.
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning.
2024-08-01T02:09:35.078+0800 I CONTROL [initandlisten]
> show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB
>
参考资料
https://www.mongodb.com/docs/manual/
最后修改时间:2024-08-02 17:43:08
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




