MongoDB数据库新手入门

2022-11-11 18:23:38 浏览数 (1)

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/

启动

mongo

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

代码语言:javascript复制
show dbs
use admin
show collections
db.product.insert({'title': 'aaa'})
db.product.drop() // 删除集合
db.dropDatabase() 删除数据库
db.createCollection("runoob")

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

代码语言:javascript复制
use admin
db.shutdownServer()

创建管理员:

代码语言:javascript复制
use admin
show users
db.createUser({user:"root",pwd:"123456",roles:["root"]}) //添加管理员

db.dropUser('grade') // 删除用户

指定数据库创建用户

代码语言:javascript复制
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

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

代码语言:javascript复制
use admin
db.auth('root','123456')

nodejs连接数据库

通过client对象连接到MongoDB

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

创建MongoClient对象实例的语法:

代码语言:javascript复制
MongoClient( server, options );
  • server : 一个serverd对象;
  • options : 数据库连接选项;

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

调用MongoClient类的connect()方法

代码语言:javascript复制
MongoClient.connect(connString, options, callback)

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

nosqlbooster连接mongodb

linux 安装mongodb,配置以及使用

安装

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

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

代码语言:javascript复制
cd /usr/local/mongodb/
mkdir data
mkdir logs
cd ./logs
touch mongodb.log
cd ../
mkdir etc
cd etc
touch mongodb.conf

mongodb.conf配置文件:

代码语言:javascript复制
#数据库路径
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目录下执行:

代码语言:javascript复制
./mongod --config /usr/local/mongodb/etc/mongodb.conf
  1. 方式二

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

代码语言:javascript复制
cd ~
vim restartMongo

#写入:
mongod --config /usr/local/mongodb/etc/mongodb.conf

# 保存退出

# 执行脚本启动
./restartMongo

查看进程

mongodb默认端口号27017

执行命令查看:

代码语言:javascript复制
netstat -ltunp

或者使用如下命令

代码语言:javascript复制
netstat -lanp | grep "27017"

启动之后就可以连接mongo server

操作mongo数据库

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

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

代码语言:javascript复制
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
代码语言:javascript复制
#开启认证,必选先添加用户
auth=true
  1. 重新开启mongo server
代码语言:javascript复制
mongod --config /usr/local/mongodb/etc/mongodb.conf

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

代码语言:javascript复制
use admin
db.auth('root', '123456') # 输出1标记访问数据库成功
show dbs

客户端链接

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

开机启动

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

代码语言:javascript复制
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

我是 甜点cc

热爱前端开发,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。

希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。

0 人点赞