发布于 2016-01-12 09:03:33 | 307 次阅读 | 评论: 0 | 来源: PHPERZ
MongoDB 分布式文件存储的数据库
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
之前讲了一些关于MongoDB的知识,出人意料的受欢迎,也让我很吃惊,所以今天打算分享一些我在自己计算机的虚拟机的centos系统下安装MongoDB的经历,希望感兴趣的你们在安装MongoDB的时候出现问题可以来看看我是怎么安装的,我们之间又有什么不同,到底是什么问题倒置MongoDB安装不顺利呢?
欢迎大家积极交流自己的经历,MongoDB的安装和配置经常会遇到问题,我们不能闭门造车,说出来大家一起讨论,一起解决,同时也欢迎大牛来指正我的错误。
我是在电脑VM10下安装的centos6.5系统(32位,这个也是导致我安装MongoDB3.0的时候出现异常提示,原因可能是MongoDB3.0的版本是64位的,我应该再找一个32位的MongoDB3.0,但事实上我找不到)。
操作系统:CentOS 6.5 32位
工作环境:典型LAMP(linux+apache+MongoDB+PHP)
MongoDB版本:2.0.0
注:配置防火墙使mongodb能顺利安装
首先关闭SELINUX、配置防火墙:
命令: vi /etc/selinux/config
修改selinux配置内容:
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
保存退出
命令::wq!
使配置立即生效
命令: setenforce 0
编辑防火墙配置
命令: vi /etc/sysconfig/iptables
修改防火墙配置项内容:允许27017端口通过防火墙
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
保存退出
命令::wq!
重启防火墙使配置生效
命令:/etc/init.d/iptables restart
下载MongoDB2.0.0安装包(注: 案例中的是64位系统的包,32位的是http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.0.tgz)
命令: wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.0.tgz
解压mongodb包:
命令: tar xzvf mongodb-linux-i686-2.0.0.tgz
移动mongodb包至安装目录:
命令: mv mongodb-linux-x86_64-2.0.0 /usr/local/mongodb
创建data文件夹和log文件夹(日志文件):
命令:mkdir -p /home/data/mongodb/mongodb_data/ #创建MongoDB数据库存放路径
命令:mkdir -p /home/data/mongodb/mongodb_log/ #创建MongoDB数据库日志存放路径
命令:touch /home/data/mongodb/mongodb_log/monglodb.log
安装配置mongodb,并且启动mongodb:
命令: /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/home/data/mongodb/mongodb_data/ --logpath=/home/data/mongodb/mongodb_log/mongodb.log --logappend
注:这里的命令的意思大概就是启动mongob,给出端口为port,给出数据库存放路径dbpath,给出日志文件路径logpath,然后执行启动。这些参数都要写对,错一不可运行MongoDB
查看MongoDB是否启动
命令: netstat -lanp | grep "27017"
进入MongoDB数据库控制台
命令: /usr/local/mongodb/bin/mongo
关闭MongoDB数据库
命令: db.shutdownServer()
退出
命令:exit
附上一些mongodb安装的参考网址:
参考网址:http://www.haodaima.net/art/2900366
参考网址:http://www.osyunwei.com/archives/7629.html
->db.TestDb #创建数据库
->db.addUser(“root”,”rongx”) #创建用户(用户名:root,密码:rongx)
->db.auth(“root”,”rongx”) #设置用户为允许连接的用户
->db.createCollection(“testTable”) #创建表
->show collections #查看表是否创建成功
案例:
在shell界面输入db,发现db是指向了test的
-> db
test
->
选择数据库 use [databese name]
-> use testDB
switched to db testDB
创建
假设我们有一个用户表testTable,包含了name age tel
-> user={name:'admin',age:'21',tel:'1234567'}
{ "name" : "admin", "age" : "21", "tel" : "1234567" }
-> db.testTable.insert(user)
-> db.testTable.find()
{ "_id" : ObjectId("51b28b7ab73ec06e42c91596"), "name" : "admin", "
age" : "21", "tel" : "1234567" }
->
附上一些mongodb基本命令参考网址
参考网址:http://blog.sina.com.cn/s/blog_998c4943010164w7.html
参考网址:http://www.cnblogs.com/ac1985482/archive/2013/06/08/3125740.html
进入MongoDB安装目录
命令: cd /usr/local/mongodb/
命令: vi /usr/local/mongodb/mongodb.conf #编辑
编辑内容如下:
port=27017 #端口号
dbpath=/home/data/mongodb/mongodb_data/ #数据库路径
logpath=/home/data/mongodb/mongodb_log/mongodb.log #日志输出文件路径
pidfilepath=/usr/local/mongodb/mongo.pid
fork=true #设置后台运行
logappend=true #日志输出方式
shardsvr=true
directoryperdb=true
#auth=true #开启认证
命令::wq! #保存退出
命令:cd /usr/local/mongodb/bin/
命令:./mongod --config /usr/local/mongodb/mongodb.conf #启动MongoDB
命令:./mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" #关闭MongoDB
命令:vi /etc/rc.d/init.d/mongod #设置开机启动MongoDB
修改配置内容,内容如下:
ulimit -SHn 655350
#!/bin/sh
# chkconfig: - 64 36
# description:mongod
case $1 in
start)
/usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/mongodb.conf
;;
stop)
/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
;;
status)
/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
;;
esac
保存修改,启动服务
命令: :wq! #保存退出
命令: chmod +x /etc/rc.d/init.d/mongod #添加脚本执行权限
命令: chkconfig mongod on #设置开机启动
命令: service mongod start #启动MongoDB
添加环境变量,编辑
命令:vi /etc/profile
在最后一行添加下面的代码
export PATH=$PATH:/usr/local/mongodb/bin
命令: :wq! #保存退出
命令: source /etc/profile #使配置立即生效
命令: mongo #进入MongoDB控制台
命令: show dbs #查看默认数据库
命令: use admin #切换到admin数据库
命令: exit #退出MongoDB控制台
至此,centOS下mongodb安装完成,接下来就是配置php与mongodb搭配使用,还有mongodb的主从设置等等的工作。
mongodb主从设置与测试参考网址:http://www.haodaima.net/art/2900366
mongo启动命令: /usr/local/mongodb/bin/mongo
最新mongoDB版本 3.0+
## 总结 ##
文章属于实战类干货,操作流程比较多,不同情况会有不同问题的出现,但是可以说明的是,mongodb3.0以上版本的数据库最好安装到64位,这个我不清楚具体原因,但是很多时候安装到32位的时候数据库会提醒我数据库异常,暂时没搞懂。
mongodb的安装其实多安装几次,你就会明白很多关于mongodb的安装所需的一些基本环境或者说是要求,首先是端口(一般是27017,如果已被占用,最好弄一个独立的新的端口),然后是操作系统(最好64位),数据库文件和数据库日志的路径,还有还有就是锁的问题,这个我经常遇到,就是启动mongodb或关闭mongodb时出现异常会出现锁库(lock)的问题,这个很烦,网上一般建议找到提示的那个lock文件,删掉,重启mongodb,我在实际上使用却一时有用一时没用,看来是我还没搞懂。
mongodb安装配置好了,命令管理界面怎么说还是突显单调,所以有一种mongodb管理工具--RockMongo,这个视图管理工具很好用,对MongoDB管理帮助很大,有兴趣的同学可以去关注一下。