手把手系列-教你安装和卸载MongoDB(亲测适用win10)

content

- MongoDB 安装过程及注意事项
- MongoDB 卸载过程及注意事项
- 安装卸载过程中报过的错
- 几点补充

1. MongoDB 安装过程

(1) 下载安装包

下载地址
选择3.6 MSI版本,下文以mongodb 3.6为示例

(2) 安装mongdo到指定的目录

如:D:\MongoDB\Server\3.6

(3) 安装注意

安装过程中,不要勾选 Install MongoDB Compass, 这是安装官方的可视化工具,一方面链接其官网下载速度非常慢,另外该工具也特别不好用,建议用CMD直接操作
手把手系列-教你安装和卸载MongoDB(亲测适用win10)_第1张图片
安装完成画面
手把手系列-教你安装和卸载MongoDB(亲测适用win10)_第2张图片

(4) 将 D:\MongoDB\Server\3.6\bin 添加到环境变量中

环境变量的作用:
将特定的目录添加到环境变量(path变量中)中,那么在任意的 cmd 目录下都可以执行 该目录下的可执行命令

用户变量: 当前登录用户的变量设置,修改 只有本用户起作用
系统变量: 对所有用户都起作用的

修改了 环境变量后, 必须重启cmd 才起作用!

(5) 配置mongod.conf文件(如下),并且在D:\MongoDB下新建 data和log 文件夹

配置mongod.conf文件
手把手系列-教你安装和卸载MongoDB(亲测适用win10)_第3张图片
手把手系列-教你安装和卸载MongoDB(亲测适用win10)_第4张图片

(6) 配置注意

注意一:
如果是生产环境,需要使用验证模式
即开启用户认证
auth=true
切記,否則會导致数据库风险

注意二:
绑定ip
127.0.0.1: 本机IP
localhost: 等同于 127.0.0.1
192.168.8.2: 局域网IP, 所有192.168 开头的ip,都是局域网IP
除了本机外, 局域网的机器都可以访问(前提是要关闭防火墙或者开放允许访问端口号)
121.69.88.226: 外网IP, 所有互联网的机器都可以访问
0.0.0.0: 最终的默认IP,所有以上4个类型的ip来源都可以访问!

(7) 以管理员身份打开cmd命令窗口

可以CMD切换到 D:\MongoDB\Server\3.6\bin 目录下,当然这个步骤如果环境变量安装正确,就不用考虑

(8) 将mongodb安装为服务

方式一:
在cmd命令窗口中输入 mongod --install -f “D:\MongoDB\Server\3.6\mongod.conf”
手把手系列-教你安装和卸载MongoDB(亲测适用win10)_第5张图片

方式二:
mongod --config "D:\ MongoDB\Server\3.6\mongod.conf " --install

(9) 安装完成后,使用 net start mongodb 启动服务

手把手系列-教你安装和卸载MongoDB(亲测适用win10)_第6张图片

2. MongoDB 卸载过程

  • 先stop服务
    cmd下用
    sc stop mongodb

  • 然后想彻底清掉mongodb,需要delete服务
    sc delete MongoDB

  • 注意!!名字是个坑,需要跟我的电脑中的服务中的mongodb,保证服务名称大小写一致

  • 然后再是软件卸载,数据库删除。以上需基于服务已经完全停止并且删除

3. 安装卸载过程中报过的错

(1) net start mongodb发生系统错误2 系统找不到指定的文件

解决方法:

  • 打开控制面板-管理工具-服务

  • 点击mongodb服务,右键属性发现启动位置仍在在上次的安装路径下c:\program files\mongodb,没有改成D盘(就是你自己的安装盘)

  • 我们需要先stop服务
    sc stop mongodb
    然后想彻底清掉mongodb,需要delete服务
    sc delete MongoDB

(2) Connect failed

手把手系列-教你安装和卸载MongoDB(亲测适用win10)_第7张图片

(3)"not authorized on test to execute command { listCollections: 1.0 }

虽然这个错误很简单,但是初次接触mongodb,被这个错折磨到凌晨2点…也感谢提供答案的博主…

mongodb进行操作时,出现errmsg" : "not authorized on test to execute command { listCollections: 1.0 }这个提示

表示没有权限,那就赶紧添加用户吧

切换到admin库

use admin;

添加用户
db.createUser( {
    user: "sa",
    pwd: "sa",
    roles: [ { role: "root", db: "admin" } ]
  });

既然已经添加了用户
用sa账号登录
db.auth('sa','sa');

几点补充:

1、常见安装问题:

  • 设置环境变量,是设置 path 变量
  • 2个目录之间,使用 ; (不是中文状态下的;) 进行分隔
  • 不要使用中文目录,甚至不要使用 ‘Program Files’
  • 引用文件的符号是: “” 而不是 “”

2、编程中, 不要使用 中文 作为

文件夹、文件、变量、类都使用  字母、数字、_   作为字符串就好了,可以查看一下PEP8

3、返回信息识别:

“ok” : 1 # 代表成功了
“ok” : 0 # 代表失败了
“err” : 1 # err 是 error 的简写, 代表失败
“err” : 0 # 代表没有错, 成功了
“error” : 1
“error” : 0

4、常见的配置文件

conf、cfg、ini、xml等

5、 delete 和 truncate

  • delete:
    delete * from table_name
    速度慢
    会写日志
    逐条删除
    自增id不会恢复
  • truncate:
    truncate table table_name
    速度快
    整个表在磁盘删除,在使用对应的 DDL 生成一个新表
    不写日志
    自增ID会从1开始

6、mongodb _id 字段

如果 json 文档 中 没有指定 _id  key,那么 mongodb会自动写入 _id  key

{ "_id" : ObjectId("5bf661a3bde7ac69f29185e7"), "name" : "terry", "age" : 18 }
{ "_id" : ObjectId("5bf66259bde7ac69f29185e8"), "name" : "mary" }
{ "_id" : ObjectId("5bf66259bde7ac69f29185e9"), "name" : "hanmeimei" }
{ "_id" : "myid", "name" : "lilei", "age" : 20 }
查找时,
系统生成的 _id  必须这样访问:
db.test.find({'_id': ObjectId("5bf66259bde7ac69f29185e8")})

你可能感兴趣的:(#,数据库DBA=Redis=)