1、为什么选择MongoDB?
1》无数据结构限制
1.没有表结构的概念,每条记录可以有完全不同的结构
2.业务开发方便快捷
3.sql数据库需要事先定义表结构再使用
2》完全的索引支持
1.redis的key-value(只能按key查询,灵活性和易用性不足)
2.hbase的单索引,二级索引需要自己实现
而mongodb支持单键索引,多键索引,数组索引,全文索引,地理位置索引。
3》方便的冗余与扩展
1.复制集保证数据安全
2.分片扩展数据规模
4》良好的支持
1.完善的文档
2.齐全的驱动 支持
2、MongoDB环境:64位Linux;ssh工具:xshell;文本编辑器:vim(Linux)
3、Linux下MongoDB安装和启动配置
1》下载安装包
下载完成后解压缩
tar zxf
mongodb-linux-i686-2.6.5
.tgz
2》安装准备
将mongodb移动到/usr/local/server/mongdb文件夹
mv
mongodb-linux-i686-2.6.5 /usr/local/mongodb
创建数据库文件夹与日志文件
mkdir /usr/local/mongodb/data
touch /usr/local/mongodb/logs
3》设置开机自启动
将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动
echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017" >> /etc/rc.local
4》启动mongodb
cd到mongodb目录下的bin文件夹启动mongodb
//下面这个是需要权限的登录方式, 用户连接需要用户名和密码
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
//这个是不需要密码的
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork
5》
进入数据库的CLI管理界面
cd到mongodb目录下的bin文件夹,执行命令./mongo
java连接mongodb
若连接不上,可能是防火墙没有开放27017端口
1、
安装iptables防火墙
yum install iptables-services #安装
2、
修改配置:vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
#添加27017端口的开放权限
service iptables restart
#重启防火墙
mongodb api 文档地址:http://mongodb.github.io/mongo-java-driver/3.4/javadoc/