CentOS7下安装MongoDB数据库

  • 2019 年 11 月 12 日
  • 筆記

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

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

下面介绍在CentOS7下安装MongoDB

1、官方网站上下载RHEL7版本的MongoDB Server的rpm安装包以及MongoDB shell的rpm安装包

https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-server-4.2.1-1.el7.x86_64.rpm

https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-shell-4.2.1-1.el7.x86_64.rpm

2、rpm -ivh 进行安装

rpm -ivh mongodb-org-server-4.2.1-1.el7.x86_64.rpm

rpm -ivh mongodb-org-shell-4.2.1-1.el7.x86_64.rpm

3、启动MongoDB服务

systemctl start mongod.service

并设置为开机自启动systemctl enable mongod.service

MongoDB数据库默认的监听端口27017

输入mongo登录数据库进入shell命令行

4、mongoDB常用命令

show dbs :查看数据库列表;

db :查看当前数据库;

db.createCollection('要新建的表名') :新建一个表;

show collections :查看当前数据库下的表;

db.表名.drop() :删除当前数据库指定表

db.dropDatabase() :删除当前数据库

show users :查看当前库的所有用户

db.cloneDatabase(“127.0.0.1”) :将指定机器上的数据库的数据克隆到当前数据库

db.copyDatabase("mydb", "temp", "127.0.0.1"):将本机的mydb的数据复制到temp数据库中

db.repairDatabase() :修复当前数据库

db.getName() :查看当前使用的数据库

db.stats() :显示当前db状态

db.version() :当前db版本

db.getMongo() :查看当前db的链接机器地址

db.serverStatus().connections.current :查看当前的连接数

5、创建管理员和数据库账号

use admin  db.createUser(    {      user: "admin",      pwd: "P@ssw0rd",      roles: [          { role: "root", db: "admin" },          { role: "userAdminAnyDatabase", db: "admin" }      ]    }  )

创建测试数据库Lab以及该数据库账号

use Lab  db.createUser(    {      user: "yuanfan",      pwd: "lab@2019",      roles: [          { role: "dbOwner", db: "Lab" }      ]    }  )

并插入测试数据db.Lab.insert({"name":"yuanfan"})

MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。

注意: 在 MongoDB 中,集合只有在内容插入后才会创建,就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建

6、开启账户认证和远程访问

[root@VM_Server ~]# cp /etc/mongod.conf /etc/mongod.conf_bak  [root@VM_Server ~]# vi /etc/mongod.conf

修改如下两处即可

bindIp: 0.0.0.0  security:    authorization: enabled

千万记得,配置文件所有的冒号后面要跟一个空格! 第二行千万不要顶格写,加两个空格

然后重启mongod服务systemctl restart mongod.service

7、shell登录时使用账户跟密码登录

mongo -u "yuanfan" -p "Lab@2019" --authenticationDatabase "Lab"

8、使用数据库管理可视化工具

1)例如Navicat

2)免费版的Robo 3T

Robo3T集成了mongoDB shell,可以右键数据库打开Shell