目前,数据库技术已经逐步的成为了信息科技领域的重要技术,其涉及到许多领域,包括:信息、数据、数据处理、数据库管理系统等等。了解一点数据库的知识也很不错!
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
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数据库角色
- 数据库用户角色:
read、 readWrite
- 数据库管理角色:
dbAdmin、 dbOwner、 userAdmin
- 集群管理角色:
clusterAdmin, clusterManager, clusterMonitor, hostManager
- 备份恢复角色:
backup、 restore;
- 所有数据库角色:
readAnyDatabase, readWriteAnyDatabase、 userAdminAnyDatabase, dbAdminAnyDatabase
- 超级用户角色:
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
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
配置环境变量
vi /etc/profile
- 写入:
export PATH=/usr/local/mongodb/bin:$PATH
保存退出 - 执行
source /etc/profile
启动mongodb服务
- 方式一
bin目录下执行:
./mongod --config /usr/local/mongodb/etc/mongodb.conf
- 方式二
把上面的命令写成脚本文件,我把它放到 ~/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()
启用安全认证
- 修改
etc/mongodb.conf
#开启认证,必选先添加用户 auth=true
- 重新开启
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