2.4 停止数据库
MongoDB提供的停止数据库命令非常丰富,例如Ctrl+C组合键、发送shutdownServer()指令及发送UNIX系统中断信号等。
2.4.1 Ctrl+C组合键
如果处于连接状态,可以直接通过按Ctrl+C组合键的方式停止MongoDB实例,如下面的代码所示:
[root@localhost ~]# /Apps/mongo/bin/mongo --port 28013
MongoDB shell version: 1.8.1
connecting to: 127.0.0.1:28013/test
> use test
switched to db test
//用Ctrl+C停止服务
> ^C[root@localhost ~]#
2.4.2 shutdownServer()指令
如果处于连接状态,可以直接通过在admin库中发送db.shutdownServer()指令停止MongoDB实例,如下面的代码所示:
[root@localhost ~]# /Apps/mongo/bin/mongo --port 28013
MongoDB shell version: 1.8.1
connecting to: 127.0.0.1:28013/test
> use admin
switched to db admin
//用shutdownServer()停止服务
> db.shutdownServer()
Thu May 31 23:22:00 DBClientCursor::init call() failed
Thu May 31 23:22:00 query failed : admin.$cmd { shutdown: 1.0 } to:
127.0.0.1:28013
server should be down...
Thu May 31 23:22:00 trying reconnect to 127.0.0.1:28013
Thu May 31 23:22:00 reconnect 127.0.0.1:28013 failed couldn't connect
to server 127.0.0.1:28013
Thu May 31 23:22:00 Error: error doing query: unknown shell/collection.js:150
>
2.4.3 UNIX系统指令
在找到实例的进程后,可以通过发送kill -2 pid或kill -15 pid停止进程,如下面的代码所示:
[root@localhost ~]# ps aux|grep mongod
root 19269 0.3 1.3 76008 3108 Sl 23:24 0:00
/Apps/mongo/bin/mongod --fork --port 28013
[root@localhost ~]# kill -2 19269
注意 不要用kill -9 pid来杀死MongoDB进程,这样可能会导致MongoDB的数据损坏。