错误日志
2018-06-08T22:25:09.118+0800 E STORAGE [initandlisten] Failed to set up listener: SocketException: Address already in use 2018-06-08T22:25:09.118+0800 I CONTROL [initandlisten] now exiting 2018-06-08T22:25:09.118+0800 I CONTROL [initandlisten] shutting down with code:48
错误原因
报错的原因,错误日志里面已经很清楚,'Address already in use' 有一个进程已经在端口中运行。所以我们要找到这个进程,然后关掉它。
PID(Process Identification)操作系统里指进程识别号。操作系统每打开一个程序都会创建一个进程ID,即PID。每个进程有唯一的PID编号,它是进程运行时系统分配的,并不代表专门的进程。在运行时PID是不会改变标识符的,但是进程终止后PID标识符就回被系统回收,可能会被继续分配给新运行的程序。
解决方法
找到mongo之前运行的PID号,关掉它,重新输入启动命令
songrenqingdeMacBook-Pro:bin songrenqing$ lsof -i :27017 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mongod 61316 songrenqing 11u IPv4 0xacda8b230bc07883 0t0 TCP localhost:27017 (LISTEN) songrenqingdeMacBook-Pro:bin songrenqing$ kill -9 61316
或者使用其它的进程ID,之前是27017,现在指定27018,就不会发生冲突
mongod --port 27018