背景:Mac上安装有ubuntu虚拟机,虚拟机中有mongodb数据库,由于部分条件因素在某些场只分配到了一个ip而且还有账号权限设置,导致虚拟机中mongodb数据库调试中暂时没法连接,所以使用代理爬取的数据只能塞到本地redis数据库中,然后又需要调整爬取的数据格式,最后想了想可以在mac上安装下先存数据,虚拟机可以分配到ip时候,设置主从同步策略同步再同步到mongodb上即可;
任务分析:Mac下安装mongodb无非三种方式,命令安装,brew安装和安装包安装方式;由于时间有限命令安装需要下载源码,安装包需要下载安装包,于是采用了最简单到brew安装方式;
brew安装核心点三部:
1、brew install mongodb在线下载并安装;
2、环境变量基本配置;
3、存储账户相关基本配置;(主从配置本篇见下篇)
具体操作:
1、brew相信是Mac上非常好用的工具,如果未安装用户请参考官网命令:
终端中执行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
防止命令有更新,具体官网:
Homebrewbrew.sh如果因为安装过xcode编辑器导致安装失败问题排查可参考之前文章:
dchaoinfo:Mac———安装brew出错总结zhuanlan.zhihu.com2、确认检查brew环境正常后,先确定镜像库是否有mongodb可用,如果用的的国外镜像可参考文章切换会中科大或清华镜像源安装起来会快一点;
dchaoinfo:Mac——brew替换源地址&安装配置mysql@5.7版本zhuanlan.zhihu.com检查本地可用mongodb安装镜像源命令如下:
brew search mongodb
本地查询结果如下:
可以查看到可以安装到mongodb版本;然后使用brew install mongodb@3.4指定版本安装也可以不带@参数,默认一般会安装镜像源中可安装的最新版本;
3、安装后需要配置环境变量(以便后续启动和停止进程查询相关操作)
环境变量一般在家目录中如下两个文件中:
具体如下:
vim ~/.bash_profile 文件:末行添加:
export MONGO_PATH=/usr/local/Cellar/mongodb/3.4.0 export PATH=$PATH:$MONGO_PATH/bin
也可以直接编辑.bashrc文件中设置alias两种方法都可行:
alias mongodb='/usr/local/Cellar/mongodb/3.4.0/bin'
注意环境变量设置请检查你本地mongodb安装位置后设置,不要照抄其中路径,路径部分是mongodb安装后的bin启动文件目录; 设置以上两个文件后记得让其生效,使用命令:source ~/.bash_profile 或者source ~/.bashrc(修改的都需要让其生效)
4、创建数据库存储目录:
mongodb默认数据库为/data/db,所以我们需要先创建它;
创建目录并给目录授权用户,否则会写入失败;
cd /$ mkdir -p data/db
sudo chown `id -u` /data/db
5、安装默认设置启动mongodb服务端:
mongod --config /usr/local/etc/mongod.conf
回溯:
1、先确定镜像,在线安装;
2、设置环境变量,使修改后环境变量生效;
3、创建数据库存储目录并授权,启动数据库;
相关问题记录:
端口问题,mongodb默认端口为27017,可以使用:lsof -i:27017 查询端口占用情况,使用lsof -i:27017$ kill -9 *** 杀掉进程,注意-9强杀慎重使用;
Failed to unlink socket file问题:根据具体文件解决,一般是权限不足导致,首先排除权限问题,通过 sudo chmod +x 对应文件 增加权限即可;也可以通过删除文件方式处理;
关闭后无法启动问题:查看创建mongodb存储文件中是否有锁文件导致无法启动,一般先查看data/db(就是创建存储数据文件夹下,尝试删除mongod.lock文件解决);