Hello,大家好!在疫情期间,我的激情学习之旅怎么可以落下呢?为此,我看了一本MongoDB和Python相关的书,感觉非常不错!故写一篇安装总结,这实在太简单了,不到半小时就能掌握,实在是有点失礼晒!
本文大纲
1. MongoDB 简介
2. Win10 安装MongoDB
3. RHEL7 安装MongoDB
01 MongoDB简介
非关系型数据库(NoSQL,指的是Not only SQL)有强大的扩展能力,不需要事先定义好表的字段,数据插入速度远超于传统关系型数据库。
MongoDB属于非关系型数据库,其适合存储大量关联性不强的数据。MongoDB是以"库"-"集合"-"文档"-"字段",这与传统关系型数据库的"库"-"表"-"行"-"列"结构非常像。但是,MongoDB不需要预定义表结构,这一点真的很爽,直接插入数据,并且数据的字段可以任意变动,并发写入速度也远远高于传统关系型数据库。
02 Win10安装MongoDB
2.1 下载网址
https://www.mongodb.com/download-center/community
2.2 安装
恭喜你,如果你按照以上的中文路径安装,就会报错,并且让你尝试重启电脑,怎么样,是不是倍儿爽?我还真重启了主机,我晕!
安装数据库怎么需要重启主机呢?这很奇葩,我的电脑一直保持高负荷运转,随时远程工作,处理突发状况!(一本正经,哈哈哈!)
最后,我尝试卸载了刚才的路径,重新使用纯英文路径G:mongodbMongoDB,安装成功!
03 RHEL7安装MongoDB
3.1 下载网址
https://www.mongodb.com/download-center/community
3.2 开始安装
3.2.1 解压安装包
[root@RHEL-INIT ~]# mkdir -p /mongo/app
[root@RHEL-INIT ~]# cd /mongo/app
[root@RHEL-INIT app]# tar -zxvf mongodb-linux-x86_64-rhel70-4.0.16.tgz
mongodb-linux-x86_64-rhel70-4.0.16/THIRD-PARTY-NOTICES.gotools
mongodb-linux-x86_64-rhel70-4.0.16/README
mongodb-linux-x86_64-rhel70-4.0.16/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-rhel70-4.0.16/MPL-2
mongodb-linux-x86_64-rhel70-4.0.16/LICENSE-Community.txt
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongodump
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongorestore
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongoexport
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongoimport
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongostat
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongotop
mongodb-linux-x86_64-rhel70-4.0.16/bin/bsondump
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongofiles
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongoreplay
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongod
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongos
mongodb-linux-x86_64-rhel70-4.0.16/bin/mongo
mongodb-linux-x86_64-rhel70-4.0.16/bin/install_compass
[root@RHEL-INIT app]# mv mongodb-linux-x86_64-rhel70-4.0.16 mongodb
3.2.2 创建目录和日志文件
[root@RHEL-INIT app]# mkdir -p /mongo/app/mongodb/data/db
[root@RHEL-INIT app]# mkdir -p /mongo/app/mongodb/log
[root@RHEL-INIT app]# touch /mongo/app/mongodb/log/mongodb.log
3.2.3 创建用户及所属组
[root@RHEL-INIT app]# groupadd mongodb
[root@RHEL-INIT app]# useradd -g mongodb mongodb
[root@RHEL-INIT app]# id mongodb
uid=1001(mongodb) gid=1001(mongodb) groups=1001(mongodb)
[root@RHEL-INIT app]# passwd mongodb
Changing password for user mongodb.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
3.2.4 创建配置文件
[root@RHEL-INIT bin]# vi mongodb.conf
#数据文件存放目录
dbpath = /mongo/app/mongodb/data/db
#日志文件存放目录
logpath = /mongo/app/mongodb/log/mongodb.log
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#允许所有的连接
bind_ip=0.0.0.0
auth = true
~
~
3.2.5 授权和加载环境变量
[root@RHEL-INIT bin]# chown -R mongodb:mongodb /mongo/app
[root@RHEL-INIT bin]# cd
[root@RHEL-INIT ~]# su - mongodb
[mongodb@RHEL-INIT ~]$ vi .bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin
PATH=$PATH:$HOME/.local/bin:$HOME/bin
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export PATH
export MONGODB_HOME=/mongo/app/mongodb
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$MONGODB_HOME/bin
~
".bash_profile" 16L, 253C written
[mongodb@RHEL-INIT ~]$ . .bash_profile
3.2.6 后台启动数据库
[mongodb@RHEL-INIT ~]$ mongod -f /mongo/app/mongodb/bin/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 70803
child process started successfully, parent exiting
3.2.7 测试
[mongodb@RHEL-INIT ~]$ mongo
MongoDB shell version v4.0.16
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("68c53655-af74-429a-be67-0515b818199e") }
MongoDB server version: 4.0.16
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
> use adminuse admin
switched to db admin
> db.createUser({user:'test',pwd:'123456',roles:[{role:'root',db:'admin'}]})
Successfully added user: {
"user" : "test",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
卖个点子,这能打码吗?

1587

被折叠的 条评论
为什么被折叠?



