mongodb的优缺点本文就不描述了,百度搜索一大堆。我这里主要总结了mongodb的安装方法和使用方法。
安装:
可以下载到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设置为服务:
启动服务:
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版以前请百度。
如果要更新管理员或其它用户:
如果要删除用户:
查看当前数据库中的用户:
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中。