强制安装Compass的坑
安装数据库啥的都是基本操作,其实没啥可多说的。
但是MongoDB这货安装的时候强制要你安装MongoDB compass。这劳什子就一个可视化客户端软件,很多人用不上。
关键的问题的是这个compass这货是安装过程中到最后一步,要现下,然后才安装。简直就是坑人。因为你就安装一个数据库server,强制带上一步安装compass,然后还要安装程序自己下载,也没用下载工具,巨慢无比,这一步就是2个小时起的。就是坑。
这里有1个办法避免。
1、是用docker拉镜像,把mongodb放在docker里运行。这个操作你可能会碰到docker的坑。因为windows下virtualbox与docker不能同时安装,因为docker要用hyper-v,virtualbox开了hyper-v就不能运行。。。。当你开启hyper-v,卸载virtualbox,拉下来mongodb镜像,你可能会发现镜像运行不起来。。如果用的是比较老的操作系统的话,比如win7。。
这些坑也好填。至于docker,初接触的时候要明确几个概念。docker-machine,host on host,也即宿主机上的宿主机,可以理解成主机上跑的一个虚拟机。然后在这个虚拟机上再跑docker镜像容器。docker一般是运行在docker-machine上的,并不是直接物理主机。也就是说直接在主机上连接127.0.0.1:27017可能是不成功的,而是要连docker-machine的ip地址与端口。特别是像win7这种安装的是docker toolbox。win10或者mac上容器是可以直接跑在本机上的,也即可以连127.0.0.1。
常用命令
#创建 docker-machine
docker-machine create --virtualbox-no-vtx-check default
# 显示有哪些主机 一般都会有一个default
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v18.09.6
# 启动一个主机
docker-machine start default
# 查看主机ip地址
docker-machine ip default
192.168.99.100
# 查看有哪些容器在运行
docker ps
# 查看有哪些镜像
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo 4.0.10 a3639b2a0f13 7 days ago 412MB
mongo latest a3639b2a0f13 7 days ago 412MB
mongo 3.6.13 4b4395fa3fd7 7 days ago 432MB
mongo 4.1.3 5bc3bf56391f 8 months ago 387MB
# 启动一个docker
docker start 4.1.3
# python 下用pymongo连接并查看数据库
import pymongo
client=pymongo.MongoClient("192.168.99.100:27017")
client.list_database_names()
2、安装中途结束最后一步的等待。这一步需要一点技巧,结束太早的话,server也没安装上。结束太晚,你得等几个小时,还不一定有结果。具体的技巧是在安装过程进行了10分钟(可能要更长)左右之后,看下C盘下mongodb的安装目录下相应的mongod.exe等文件是否已经存在了。如果已经有了,丝毫不要犹豫的关闭安装程序的界面。走后面的流程开始用吧。然页,重启之后,安装目录下的文件会被自动删掉。这种安装方式还是不行。这也做的够可以。。。
配置
添加可执行目录到环境变量。
set PATH=%PATH%;C:\Program Files\MongoDB\Server\4.0\bin
修改配置文件
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: D:\Program Files\MongoDB\Server\4.0\data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: D:\Program Files\MongoDB\Server\4.0\log\mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
新增服务
mongod --config "C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg" --serviceName MongoDB --install
启动
net start MongoDB