接触使用MongoDB也有好多个年头了,从几年前使用MongoDB作为唯一数据库使用和到现在作为项目中数据库之一的选择上,MongoDB都是非常不错的选择。
如今MongoDB已经推出了3.0的正式版本,相比2.0版本在大型应用中的效率性能稳定性都有着巨大的提升,在实际应用中,我们在前期使用MongoDB作为日志和评论信息的数据库,同时在部分场合可以是用mongoDB的gridFS作为小型文件系统使用,截止到现在mongoDB最新版本是3.0.2。
官网:
http://www.mongodb.org/
3.0的新特性:
可插入式的存储引擎 API
支持 WiredTiger 存储引擎
MMAPv1 提升
复制集全面提升
集群方面的改进
提升了安全性
工具的提升
废话不多说,开始吧。
windows下下载地址:http://www.mongodb.org/downloads
windows7、8、8.1/10用户务必下载该版本,从下面的截图可以看出MongoDB提供了多种版本的系统支持,几乎可以涵盖常用的所有系统了。
CentOS下也可以现在下载,然后通过ftp上传到centos服务器上,也可以通过wget在线下载:
CentOS6选择该版本下载,一家人不解释了:
windows下下载msi和zip是一样的结果,在执行时都需要进行数据库目录和日志目录的配置
如果是MSI按照安装提示安装即可,如果是zip解压到你想要的目录即可。
http://docs.mongodb.org/master/tutorial/install-mongodb-on-windows/
上传到服务器目录,比如/usr/local/下,或者在线下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.2.tgz tar -xzvf mongodb-linux-x86_64-rhel62-3.0.2.tgz
详细的安装过程,参考官方的目录,网上有太多教程和到处抄来抄去的文章,碰到的问题都是因为穿了别人的破鞋,还是推荐尽量查看官方的写的不能再全的说明了。
http://docs.mongodb.org/master/tutorial/install-mongodb-on-red-hat/?_ga=1.264588876.272088222.1426929606
配置主要是为了配置部分参数、以及生成文件的路径
MongoDB requires a data directory to store all data. MongoDB’s default data directory path is\data\db. Create this folder using the following commands from a Command Prompt:
md \data\db
You can specify an alternate path for data files using the --dbpath option to mongod.exe, for example:
C:\mongodb\bin\mongod.exe --dbpath d:\test\mongodb\data
If your path includes spaces, enclose the entire path in double quotes, for example:
C:\mongodb\bin\mongod.exe --dbpath "d:\test\mongo db data"
You may also specify the dbpath in a configuration file.
To start MongoDB, run mongod.exe. For example, from the Command Prompt:
C:\mongodb\bin\mongod.exe
那么问题来了,每次开机关机都要这么做码农的春天在哪里,交给开机自动启动照样你的开机时间超过了99%的地球人。
按照官方的做法,一直报错,不知道是否是win8.1的原因,在win7上没有问题。
话不多说,就用这个命令吧,cd到mongodb的bin目录
预先新建data文件夹,再新建logs和db文件夹
cd D:\MongoDB\Server\3.0\bin mongod --logpath D:/MongoDB/Server/3.0/data/logs/mongod.log --logappend --dbpath D:/MongoDB/Server/3.0/data/db --directoryperdb --serviceName MongoDB --install
在mongodb目录中新建两个文件夹 db和logs
mkdir db
mkdir logs
在mongoDB/bin目录下创建mongo.conf文件
dbpath=/usr/local/mongodb/db logpath=/usr/local/mongodb/logs/mongodb.log port=27017 fork=truenohttpinterface=true
WINDOWS
见上述教程。
CENTOS
在服务器中启动mongodb bind_ip可选参数,指定访问mongodb的地址,外部访问务必注意防火墙iptables 27017端口是否开启
/usr/local/mongodb/bin/mongod --bind_ip localhost -f /usr/local/mongodb/bin/mongodb.conf
/usr/local/mongodb/bin/mongod-f /usr/local/mongodb/bin/mongodb.conf
开机自动启动mongodb
vi /etc/rc.d/rc.local
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
查看是否启动成功
#进入mongodb的shell模式 /usr/local/mongodb/bin/mongo #查看数据库列表 show dbs #当前db版本 db.version();
关闭mongodb
1、在mongodb的shell模式下
> use admin;
switched to db admin> db.shutdownServer();
2、在系统shell模式下
/usr/local/mongodb/bin/mongod --shutdown --dbpath --dbpath /usr/local/mongodb/db
在高速迭代的今天,产品总是在不停的迭代和重构,难免涉及到系统的维护,mongodb几个主要的维护包括备份、恢复、拷贝等操作
备份haolihai数据库
[root@localhost bin]# ./mongodump -d haolihai-o dump
备份的数据库会默认在在dump/haolihai目录下,可以修改命令更换目录
数据恢复mongorestore
由于刚刚已经做了备份,所以我们先将库haolihai删除掉
> use haolihai
switched to db haolihai> db.dropDatabase()
{ "dropped" : "haolihai", "ok" : 1 }
> show dbs[root@localhost bin]# ./mongorestore -d haolihai--drop dump/haolihai
本地复制数据库
db.copyDatabase("haolihai","bulihai","localhost") --将本地haolihai数据库复制为bulihai