mongodb安装和使用

mongodb的优缺点本文就不描述了,百度搜索一大堆。我这里主要总结了mongodb的安装方法和使用方法。

安装:

官网:https://www.mongodb.com/ 

可以下载到mongodb对应操作系统的版本。

下载后,除了windows以外,都是解压缩以后,重命名目录,删除除了bin目录以外的所有文本文件,放到任何位置就可以使用了,只不过使用之前,进行一下配置,再运行比较方便,比如设置守护进程、设置数据库以单独目录存放、设置数据库路径等。

配置参考:http://docs.mongoing.com/manual-zh/reference/configuration-options.html

文档参考:https://docs.mongodb.com/master/reference/method/db.collection.drop/#db.collection.drop

在windows我配置文件如下:

systemLog:

    destination: file

    path: D:\mongodb\log\mongod.log

    logAppend: true

storage:

    journal:

        enabled: true

    dbPath: D:\mongodb\db

    directoryPerDB: true

net:

    bindIp: 127.0.0.1

    port: 27017

 

将mongod设置为服务:

设置mongodb为windows服务 写道
D:\mongodb\bin\mongod --config D:\mongodb\conf\mongo.conf --install --serviceName "MongoDB" --journal

 启动服务:

net start MongoDB

如果要查看windows服务中的MongoDB,在我的电脑上点右键,管理--服务,就能找到MongoDB服务,理论上它已经是自动启动的了。就是说下次启动windows时,mongodb自动启动。

 

 mongodb默认没有启用控制权限,所以当我们在windows控制台用D:\mongodb\bin\mongo客户端连接时,能看到警告:WARNING: Access control is not enabled for the database.

要启用控制权限,操作步骤如下:

1、D:\mongodb\bin\mongo连接上mongodb数据库。

2、切换数据库到admin: use admin

3、创建超级管理员,因为我们总用mysql数据库,所以我们创建root用户吧(创建admin用户也可以): 

这里的操作命令是针对3.0版以及以后的版本的,3.0版以前请百度。

mongodb创建超级管理员root用户 写道
db.createUser({user:'root',pwd:'root',roles:['dbAdminAnyDatabase','userAdminAnyDatabase','readWriteAnyDatabase']})

如果要更新管理员或其它用户:

写道
db.updateUser('root', {pwd:'root',roles:['dbAdminAnyDatabase','userAdminAnyDatabase','readWriteAnyDatabase']});

 如果要删除用户:

写道
db.dropUser('root');

 查看当前数据库中的用户:

show users;

 

具体权限参考这篇文章吧:http://justcoding.iteye.com/blog/2270466

上面用户一定要添加三种角色,只添加dbAdminAnyDatabase的话,虽然能对所有数据库添加管理员,但却无法读取、修改数据库,这样在rockmongo管理的时候,如果我们想类似mysql一样用root用户登陆上去管理,会出错。当然,如果你太重视安全,那么就只给dbAdminAnyDatabase即可。

这样,root用户就创建好了。

 

4、我们修改配置启用验证:

systemLog:

    destination: file

    path: D:\mongodb\log\mongod.log

    logAppend: true

storage:

    journal:

        enabled: true

    dbPath: D:\mongodb\db

    directoryPerDB: true

net:

    bindIp: 127.0.0.1

    port: 27017

security:

    authorization: enabled

备注:linux中的配置只要增加守护进程的设置即可:

processManagement:

  fork: true

  pidFilePath: /data/web/mongodb/mongod.pid

systemLog:

  destination: file

  path: /data/web/mongodb/log/mongod.log

  logAppend: true

storage:

  dbPath: /data/web/mongodb/db

  directoryPerDB: true

  journal:

    enabled: true

net:

  bindIp: 127.0.0.1

  port: 27017

security:

 

  authorization: enabled

5、再重启mongodb服务:

net stop MongoDB

net start MongoDB

6、命令行连接:

D:\mongodb\bin\mongo

7、验证:

use admin

db.auth('root', 'root')

8、创建比如某个应用或web站点要使用的数据库:webdb

use webdb

9、为webdb创建用户:

db.createUser({user:'webdb',pwd:'webdb',roles:[{role:'dbOwner',db:'webdb'}]})

至此,用户控制搞定。以后要给别的数据库添加用户也是用这种方法。

接下来我们用rockmongo来管理mongodb,这个跟phpMyAdmin很相似,但界面要差很多,凑合用吧,下载地址:

https://github.com/iwind/rockmongo

下载后,解压缩,然后重命名文件夹,拷贝到相应的目录,设置虚拟主机以后,可以访问网站(php技术)。

访问后,如果提示:To make things right, you must install php_mongo module. Here for installation documents on PHP.net.

这代表没有安装php_mongo扩展,参考文档去下载扩展安装:

http://php.net/manual/en/mongo.installation.php#mongo.installation.manual

注意的是:除了dll文件放入相应的目录以外,php.ini添加extension=php_mongo.dll,还有就是如果启动服务器报错,可以将php目录添加到系统环境变量Path中。

猜你喜欢

转载自canlynet.iteye.com/blog/2356007
今日推荐