MongoDB数据库新手入门

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: MongoDB数据库新手入门

目前,数据库技术已经逐步的成为了信息科技领域的重要技术,其涉及到许多领域,包括:信息、数据、数据处理、数据库管理系统等等。了解一点数据库的知识也很不错!


windows安装mongodb   5.0.2


官网下载msi文件

自定义安装到 d:/apptoools/mongodb/

不要勾选mongodb compass

报错:verify that you have sufficient privileges to install system services权限不足


解决办法:


1.默认C盘安装路径

2.其它磁盘根目录,D:/mongodb/


配置环境变量


bin目录添加到path环境变量里面

创建数据库存储文件 D:/mongoDatabase/

指定数据库存储文件mongod --dbpath D:/mongoDatabase/


启动


image.png

mongo

或者指定连接本地数据库  mongo 127.0.0.1:27017

show dbs
use admin
show collections
db.product.insert({'title': 'aaa'})
db.product.drop() # 删除集合
db.dropDatabase() # 删除数据库
db.createCollection("runoob")


使用SQL命令强迫关闭mongo服务


use admin
db.shutdownServer()


创建管理员:


use admin
show users
db.createUser({user:"root",pwd:"123456",roles:["root"]}) # 添加管理员
db.dropUser('grade') # 删除用户


指定数据库创建用户


use grade
db.createUser({user:"gradeAdmin",pwd:"123456",roles:[{role: 'dbOwner',db: 'grade'}]})


Mongodb数据库角色


  1. 数据库用户角色:

read、 readWrite

  1. 数据库管理角色:

dbAdmin、 dbOwner、 userAdmin

  1. 集群管理角色:

clusterAdmin, clusterManager, clusterMonitor, hostManager

  1. 备份恢复角色:

backup、 restore;

  1. 所有数据库角色:

readAnyDatabase, readWriteAnyDatabase、 userAdminAnyDatabase, dbAdminAnyDatabase

  1. 超级用户角色:

root


开启认证之后连接数据库:


use admin
db.auth('root','123456')


nodejs连接数据库


通过client对象连接到MongoDB


通过实例化一个MongoClient对象连接MongoDB数据库是最常用也是最佳的方式。

创建MongoClient对象实例的语法:

MongoClient( server, options );


  • server : 一个serverd对象;
  • options : 数据库连接选项;


通过一个连接字符串连接到MongoDB


调用MongoClient类的connect()方法

MongoClient.connect(connString, options, callback)

connString:mongodb://username:password@host:port/database?opations


nosqlbooster连接mongodb


image.png


linux 安装mongodb,配置以及使用


安装


官网下载tar包,上传到服务器目录: /usr/local/mongodb解压,tar -zxvf  mongodb-linux-x86_64-xxx 并重命名


创建mongodb数据存储文件和日志文件


cd /usr/local/mongodb/
mkdir data
mkdir logs
cd ./logs
touch mongodb.log
cd ../
mkdir etc
cd etc
touch mongodb.conf


mongodb.conf配置文件:


#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true


配置环境变量


  1. vi /etc/profile
  2. 写入: export PATH=/usr/local/mongodb/bin:$PATH保存退出
  3. 执行 source /etc/profile


启动mongodb服务


  1. 方式一

bin目录下执行:

./mongod --config /usr/local/mongodb/etc/mongodb.conf


  1. 方式二


把上面的命令写成脚本文件,我把它放到 ~/restartMongo 中,如下:

cd ~
vim restartMongo
#写入:
mongod --config /usr/local/mongodb/etc/mongodb.conf
# 保存退出
# 执行脚本启动
./restartMongo


查看进程


mongodb默认端口号27017

执行命令查看:

netstat -ltunp

或者使用如下命令

netstat -lanp | grep "27017"

启动之后就可以连接mongo server


操作mongo数据库


mongo (或者指定ip:port: mongo ip:port)


admin数据库添加用户、安全认证


use admin
show users
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
show users
关闭mongo server
db.shutdownServer()


启用安全认证


  1. 修改etc/mongodb.conf
#开启认证,必选先添加用户
auth=true
  1. 重新开启mongo server
mongod --config /usr/local/mongodb/etc/mongodb.conf

此时show dbs查看不到任何数据库

use admin
db.auth('root', '123456') # 输出1标记访问数据库成功
show dbs


客户端链接


开放防火墙端口号,不再赘述。


开机启动


配置开机启动脚本文件: /etc/rc.d/init.d/mongod

start() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf
}  
stop() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
}  
case "$1" in  
start)  
start  
;;  
stop)  
stop  
;;  
restart)  
stop  
start  
;;  
*)  
echo  
$"Usage: $0 {start|stop|restart}"  
exit 1  
esac


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
4天前
|
JSON NoSQL MongoDB
理解Nosql数据库的mongodb
【5月更文挑战第5天】MongoDB是2009年发布的一款通用型NoSQL数据库,结合了关系模型和NoSQL的优点,适用于各种现代应用。其特点包括图形界面、数据服务、云基础设施集成(AWS, Azure, Google Cloud)。它具备全面的查询能力、ACID事务、可调整的一致性保证,并有多语言驱动及工具,可在任何地方运行。
49 4
|
4天前
|
存储 NoSQL MongoDB
MongoDB数据库转换为表格文件的Python实现
MongoDB数据库转换为表格文件的Python实现
37 0
|
4天前
|
存储 NoSQL 关系型数据库
Percona XtraBackup是否支持MongoDB数据库备份?
【5月更文挑战第13天】Percona XtraBackup是否支持MongoDB数据库备份?
28 1
|
2天前
|
存储 SQL NoSQL
什么是 MongoDB,为什么它是当今最受欢迎的数据库之一?
什么是 MongoDB,为什么它是当今最受欢迎的数据库之一?
|
4天前
|
NoSQL atlas MongoDB
Nosql数据库MongoDB的使用场景
【5月更文挑战第5天】 MongoDB是全球性的多云数据库,可在私有、公共和混合云中运行,提供高可用性、扩展性和合规性。 安全特性包括认证、授权、审计、网络隔离和加密。可提供跨云操作、可视化工具、搜索功能和数据湖支持,适用于现代应用开发,包括边缘数据处理。
33 1
|
4天前
|
存储 NoSQL 关系型数据库
【MongoDB 专栏】MongoDB 与传统关系型数据库的比较
【5月更文挑战第10天】本文对比了MongoDB与传统关系型数据库在数据模型、存储结构、扩展性、性能、事务支持、数据一致性和适用场景等方面的差异。MongoDB以其灵活的文档模型、优秀的扩展性和高性能在处理非结构化数据和高并发场景中脱颖而出,而关系型数据库则在事务处理和强一致性上更具优势。两者各有适用场景,选择应根据实际需求来定。随着技术发展,两者正相互融合,共同构建更丰富的数据库生态。
【MongoDB 专栏】MongoDB 与传统关系型数据库的比较
|
4天前
|
存储 NoSQL 关系型数据库
MongoDB非关系型数据库实战
【5月更文挑战第6天】MongoDB,流行的NoSQL数据库,以其灵活的数据模型和高性能备受青睐。本文介绍了MongoDB的基础,包括文档型数据库特性、安装配置、数据操作。通过电商订单管理的实战案例,展示了MongoDB在处理复杂数据结构和大规模数据时的优势,适用于电商、游戏、视频直播等场景。MongoDB的索引、全文搜索和地理空间功能进一步增强了其实用性。注意性能优化和扩展性以确保系统稳定性和可靠性。
|
4天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
24 0
|
4天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
13 0
|
4天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(上)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
20 0