跳转至

MongoDB启动和登录

1.启动:

使用MongoDB bin目录下的mongod命令来启动mongodb服务器:

mongod --dbpath=/home/mongodb/dbfile/data_file/ --logpath=/home/mongodb/dbfile/log_file --fork;

参数说明:

--dbpath:

指定数据库文件路径。每个mongodb 都进程都需要指定自己的数据库文件路径。mongodb服务启动后,会在数据目录下面创建mongod.lock文件,通过这个文件来

限制其他mongodb进程使用这个目录。如果一起monogodb进程试图去使用一个已经被其他进程正在使用的数据目录,则回报:

exception in initAndListen: 10310 Unable to lock file: /home/mongodb/dbfile/data_file/mongod.lock. Is a mongod instance already running?, terminating

错误。

--logpath:

指定日志输出路径,如果文件不存在,就会生成新的日志文件(目录要有写权限),如果已经处在,则默认会清除重写。如果想保留旧日志。则需要使用

“--logappend”参数选项。

--fork:

以守护进程的方式运行服务(后台)。

--config:

指定配置文件,可以把启动的参数预先写在配置文件里,通过这个参数指定对应的配置文件,mongodb会从配置文件里读取启动参数。

--auth:

开启安全检查,第一次启动mongodb的时候,不要带这个参数,启动添加管理员账号后,再带这个参数重启服务。

2.连接和登录

使用bin目录下的mongo客户端命令来连接。第一次启动的时候(没有带--auth参数)。

1:先用mongo连接上服务

2:先使用use admin命令,切换到admin数据库:。

3:db.addUser("name","pass");添加管理员账户。

添加完后,重启数据库服务,带--auth参数启动:

**mongod --dbpath=/home/mongodb/dbfile/data_file/ --logpath=/home/mongodb/dbfile/log_file --auth --fork;**

这样就会开启安全检查。服务器启动完后。在用mongo连接,然后用db,auth("name", "pass")函数来登录。这样才有操作的权限。

在admin数据库添加的账户都是超级管理员账号。

要给具体的数据库设置专用的管理员,先用use databaseName命令切换到对应的数据库,在调用db.addUser("name","pass");函数来添加账户就行。

查看当前数据库有哪些用户,可以在db.auth()登录后,使用:db.system.users.find();函数来查询。

3.退出和关闭数据库

1:退出客户端

如果已经用mongo登录到数据库了,可以使用"ctrl+c"来退出mongo客户端(服务器不会关闭),

2:关闭数据库进程:

(1) killall mongod

(2)使用kill PID -2来关闭mongodb服务器(不要使用-9参数,会导致数据库文件损坏)。

(3)登录mongo客户端之后,切换到**admin**数据库,再调用**db.shutdownServer()**函数来关闭mongodb服务。