下载:
- 最新版的直接官网download
- 历史版本
- 本博客示例为3.4版本安装包(.msi后缀)
安装:
- 双击安装包,一路next,注意的地方:,安装目录最好不要放c盘,最好不要有空格,在“Custom”选项下自定义路径,例如:‘D:\mongodb\’
- 安装完成后,进入d:\mongodb\目录,创建data文件夹,在data文件夹内创建db文件夹
- 进入d:\mongodb\bin目录,执行:
mongod --dbpath d:\mongodb\data\db
运行mongodb数据库 - 打开浏览器输入localhost:27017,如果没有界面多刷新几次。出现如下字符串,则说明启动成功:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
- 日志收集和处理:
- 在d:\mongodb\目录下新增logs目录
- 启动命令修改为
mongod --dbpath d:\mongodb\data\db --logpath "d:\mongodb\logs\mongodb.log" --logappend
- 解释: –logpath是日志路径, –logappend 是以追加的方式写日志
- 修改默认端口:
mongod --port 18888 "d:\mongodb\data"
启动mongodb服务
- 在d:\mongodb\目录创建 mongo.config 文件输入以下内容:
dbpath=D:\mongodb\data\db
logpath=D:\mongodb\logs\mongodb.log
- 以管理员权限启动cmd,cd 到 d:\mongodb\bin 目录,执行:
mongod --config "D:\mongodb\mongo.config" --install --serviceName "MongoDB"
命令创建windows服务 - 启动mongodb服务:
net start mongodb
创建用户连接
打开mongo终端(没配置环境变量的去d:\mongodb\bin下打开即可)
# 进入bin目录 cd d:mongodn/bin # 打开mongo终端 ./mongo # 切换到admin用户 use admin # 创建用户表和用户 db.createUser( { user: "admin", pwd: "******", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) # 新打开终端测试连接 mongo --port 27017 -u "admin" -p "******" --authenticationDatabase "admin" # 能成功登陆即可
- 参考博客
开启认证模式登陆
- 删除当前服务:
sc stop mongodb && sc delete mongodb
- 测试开启认证登陆:
mongod --auth --dbpath d:\mongodb\data\db --logpath "d:\mongodb\logs\mongodb.log" --logappend
- 不用用户名密码登陆也能进去,但是不能进行任何操作…
- 重新生成mongodb服务:
mongod --auth --config "D:\mongodb\mongo.config" --install --serviceName "MongoDB"
- 启动mongodb服务:
net start mongodb
- 登陆测试:
mongo --port 27017 -u "admin" -p "******" --authenticationDatabase "admin"
- 在写篇文章时,我也不会用mongodb,跑了下SQL语句:
show dbs;
能查到数据库的内存使用情况,具体的后面在学习咯
- 在写篇文章时,我也不会用mongodb,跑了下SQL语句:
创建数据库
在MongoDB中创建的用户只能在本数据库中使用,切换数据库无法使用,即,在admin数据库中创建的admin用户,切换到tom数据库,就无法登陆
use tom db.auth('tom', '******') // 此处会报错 Error: 18 Authentication failed. // 切换为admin则可以正常登录 db.auth('admin', '******') // 返回结果为: 1,表示登录成功
现在需要新开个项目Blog,创建数据库:myblog,对应的用户:blog,密码:myBlogSecret
use admin db.auth("admin","******") use myblog db.createUser( { user: "blog", pwd: "myBlogSecret", roles: [ { role: "dbOwner", db: "myblog" } ] } ) db.auth("blog","myBlogSecret") // 最终返回为1,则说明创建数据库和数据库拥有者成功
可视化界面工具:node版
- adminMongo
- 克隆到本地:
git clone https://github.com/mrvautin/adminMongo.git
- 安装依赖:
cd adminMongo && npm install
- 运行:
node app
,打开浏览器,进入localhost:1234即可访问到mongodb图形界面 - 持久化运行:可选以下两种方式
- 使用pm2在后台运行:
pm2 start app.js
- 打包为ElectronApp,生成桌面快捷方式运行
- 使用pm2在后台运行:
- 登录:同项目中登录:
mongodb://admin:******@127.0.0.1:27017/admin
常见问题:
- 怎么以管理员权限启动cmd?
- 按下 windows + R 键,输入cmd,上方会出现
cmd.exe
- 右键单击并选择“以管理员身份运行”即可打开管理员权限的cmd命令行
- 输入
d:
即可切入到d盘根目录,输入cd mongodb\bin\ 即可进入bin目录
- 按下 windows + R 键,输入cmd,上方会出现
- 怎么删除windows服务:
net delete mongodb
- 怎么停止服务:
net stop mongodb