MAC中mongodb的连接遇到的问题及调试
今天在MAC环境下连接mongodb,遇到了一些报错,最终调试全部搞定。在此特做记录!
首先,mongod启动失败
上面有一句话是
exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating
说明在db这个文件夹着出了问题,有两种情况:
1、根本就不存在!没建成功;
cd了一下data/db,成功进入,没毛病~~
2、没权限访问;
有点道理,我是用超级管理员权限建的这个文件夹,遇到这种情况有两种策略:
- 我还用超级管理员的身份来启动这个命令;
上述问题是解决了,结果报了另外一种错,有人把27017端口号给占了!!
为了验证罪行:netstat -an|grep 27017
果然如此。。因为我之前起过一个Mongod,所以犯罪嫌疑人有可能是mongod,继续验证:ps -ef|grep mongod
嗯!就是他,最后我们要把犯罪嫌疑人杀死:
killall mongod
再重新执行,就没有问题啦~~
- 还可以用cd~ 切换到自己的目录下,建立/dbdata(这样我总有权限访问了把!)
mkdir dbdata,然后执行mongod --datapath ~/dbdata(明确指定db的路劲)
成功连上!
另外还有一个调试中可以使用的小命令;
history|grep mongod:有点像浏览器的访问历史记录,查看你对mongodb对做了哪些操作;