CentOS7下安装MongoDB数据库

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

本文分享自微信公众号 - WalkingCloud(WalkingCloud2018)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏橙子探索测试

Python unittest初始化固件setUp和销毁固件tearDown详解

unittest.TestCase 包含了 setUp() 和 tearDown() 两个方法,其中 setUp() 方法用于初始化测试固件;而 tearDow...

11320
来自专栏CU技术社区

如何可视化地查看 Linux 系统磁盘使用情况?

Duc 是一个工具集,可以在类 Unix 操作系统上建立索引、检查和可视化系统的磁盘。与其它相似工具相比,它可以正常工作在超大规模的文件系统上。测试表明,Duc...

11420
来自专栏CU技术社区

Linux 应用开发自学之路

在 「关于我 」那篇博文里,朋友们应该知道了我不是科班出身,是由机械强行转行到Linux应用开发方向。下面我就详细向大家介绍自己这一路上的转行历程,希望对大家有...

13020
来自专栏橙子探索测试

【Python篇】unittest单元测试框架介绍及使用(一)

unitetest是python里单元测试框架,是基于 java 的 junit 测试框架 相当于是一个 python 版的 junit,除了 unittest...

13540
来自专栏橙子探索测试

Jmeter中JDBC Connection Configuration实现MySQL JDBC Request数据库处理

线程组-添加-配置元件-JDBC Connection Configuration

13120
来自专栏大数据在线

今天,Amazon消费业务彻底弃用了Oracle数据库

今天,AWS首席布道者Jeff Barr在其博客上透露,Amazon消费者业务正式完成了对Oracle数据库的迁移工作,关闭了最后的Oracle数据库。Amaz...

7020
来自专栏橙子探索测试

【性能测试】性能需求挖掘、性能方案制定及压测场景设计之疑惑与思考(一)

模拟用户在同一时间对服务器发送大量请求,以此查看服务器性能指标,尤其关注大业务量情况下运行系统性能的变化(反应变慢、是否会内存泄漏导致系统逐渐崩溃、是否能恢复)...

12230
来自专栏CU技术社区

病毒频现,CDP 数据保护了解一下?

中招的计算机数据库文件会被加密并加上后缀 “dbger”,只有向黑客缴纳 1 个比特币的赎金才能解密文件。我猜这些黑客们一定投资比特币被深套了,拼命的给比特币创...

6210
来自专栏CU技术社区

Linux 编程的6类好习惯和23个教训

当初学习 Linux 的使用,从基础到服务到集群,都是在虚拟机做的,虽然老师告诉我们跟真机没有什么差别,可是对真实环境的渴望日渐上升,不过虚拟机的各种快照却让我...

10420
来自专栏CU技术社区

Linux系统下如何优雅地关闭Java进程?

Linux系统下如何kill掉一个后台Java进程,相信童鞋们都知道如何操作。首先使用ps命令查找该Java进程的进程ID,然后使用kill命令进行杀掉。命令如...

19920

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励