介绍
介绍
MongoDB是一个文档数据库引擎,文档数据库和MySQL这种关系型数据库是不一样的设计,文档数据库和Redis这种Key-Value数据库也有很大差别。不过文档数据库和Key-Value数据库都属于NoSQL型的数据库,也就是说MongoDB也是不支持SQL语句的。
MongoDB相对于MySQL数据库来说有一项独有的非常强大的特点,就是MongoDB的数据表结构是自由的,可以针对每一个文档(一行数据)定义不同的字段。
MongoDB的文档的存储格式是主流的数据个数JSON,JSON数据是可以设计成一个树状结构的,可以将一个对象的属性以及子属性、孙属性甚至更具体的属性保存到一个JSON数据当中,而MongoDB的一个文档就可以保存它,而无需事先设计好数据表结构来适应这种对象。
基本信息
安装环境
CentOS:CentOS Linux release 7.6.1810 (Core)Linux:Linux version 3.10.0-1062.el7.x86_64
GCC:gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
软件版本
mongodb-linux-x86_64-rhel70-4.2.2.tgz
准备工作
本地化
如果是新环境,我们需要设置时区以保证时间显示正确
timedatectl set-timezone Asia/Shanghai
安装wget
如果环境里没有wget,通过yum安装一下
yum -y install wget
安装依赖包
yum -y install libaio numactl-libs
建立环境根目录
mkdir -p /tongfu.net/env/
建立安装包目录并进入
mkdir /packagescd /packages
安装MongoDB 4.2
官网下载
从官网下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.2.tgz
网盘下载
如果官网下载太慢,可以从网盘下载
链接: https://pan.baidu.com/s/1KjL759qM81Ix_ZRZZxdepg 提取码: yvpi
安装
设置mongo环境变量
[root@tfdev env]# vi /etc/profileexport MONGODB_HOME=/tongfu.net/env/mongodb-4.2.2export PATH=$MONGODB_HOME/bin:$PATH
立即启用环境变量
source /etc/profile
创建用户
useradd mongo
解压缩
tar -xzvf mongodb-linux-x86_64-rhel70-4.2.2.tgz -C /tongfu.net/env/cd /tongfu.net/env/mv mongodb-linux-x86_64-rhel70-4.2.2/ mongodb-4.2.2
建立数据目录
mkdir /tongfu.net/env/mongodb-4.2.2/confmkdir /tongfu.net/env/mongodb-4.2.2/datamkdir /tongfu.net/env/mongodb-4.2.2/logs
建立配置文件
[root@tfdev env]# vi /tongfu.net/env/mongodb-4.2.2/conf/mongodb.confdbpath = /tongfu.net/env/mongodb-4.2.2/data/logpath = /tongfu.net/env/mongodb-4.2.2/logs/mongodb.logbind_ip = 0.0.0.0wiredTigerCacheSizeGB = 2auth = truejournal = true
设置权限
chown mongo.mongo -R /tongfu.net/env/mongodb-4.2.2/
自动启动
添加自动启动脚本
[root@tfdev env]# cat > /lib/systemd/system/mongod.service <
运行自动启动
systemctl enable mongod # 设置自动启动 systemctl start mongod # 启动服务 systemctl stop mongod # 停止服务 systemctl restart mongod # 重启服务
服务命令添加到系统目录
ln -s /tongfu.net/env/mongodb-4.2.2/bin/mongo /usr/bin/
连接数据库admin
首次登录,无需用户名和密码,直接连接 admin 数据库
/tongfu.net/env/mongodb-4.2.2/bin/mongo 127.0.0.1:27017/admin
创建超级用户
设置超级用户root
db.createUser({user:"root",pwd:"abcdef",roles: [{ role:"readWriteAnyDatabase", db:"admin" },{ role:"userAdminAnyDatabase", db:"admin" },{ role:"dbAdminAnyDatabase", db:"admin" }]});
重新连接数据库admin
使用超级用户root连接数据库admin
/tongfu.net/env/mongodb-4.2.2/bin/mongo -uroot -pabcdef 127.0.0.1:27017/admin
创建数据库
创建数据 field
use field<