设为首页 收藏本站
查看: 1277|回复: 0

[经验分享] mongodb入门安装与配置

[复制链接]

尚未签到

发表于 2015-7-8 12:12:09 | 显示全部楼层 |阅读模式
  http://docs.mongodb.org/manual/installation/
http://wordpressapi.com/2010/09/09/how-to-install-mongodb-on-linux/
依赖安装:
sudo apt-get install git tcsh scons gcc-c++ glibc-devel boost-devel pcre-devel js-devel readline-devel boost-devel-static readline-static ncurses-static
下载文件:
对于32位的linux
  curl http://downloads.mongodb.org/linux/mongodb-linux-i686-2.2.2.tgz > mongodb.tgz
  tar -zxvf mongodb.tgz
对于64位的linux
  curl http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.2.2.tgz > mongodb.tgz
  tar -zxvf mongodb.tgz
  重命名mv mongodb-linux-x86_64-2.2.2 /opt/mongodb
创建数据存储目录:
默认情况下,MongoDB会在/data/db/这个文件夹存放数据
cd /opt/mongodb
sudo mkdir -p /opt/mongodb/data/db/
sudo mkdir /opt/mongodb/log
touch /opt/mongodb/log/mongodb.log
adduser mongodb
passwd mongodb
sudo chown `id -u` /opt/mongodb/data/db
chown -R mongodb:mongodb /opt/mongodb/data
#可以通过--dbpath命令指定MongoDB数据存储目录
启动数据库:
cd /opt/mongodb/bin
启动服务:
  ./mongod --dbpath=../data/db --logpath=../log/mongodb.log
连接数据库:
  ./mongo 127.0.0.1:27017
or
nohup /opt/mongodb/bin/mongod & /opt/mongodb/bin/mongo
参数说明
--dbpath            #指定db文件存放的目录
--port              #指定mongod服务使用的端口
--fork              #设置mongo服务为后台运行
--logpath           #指定log文件的目录和文件名
--logappend         #设置每次log添加在文件最后
--rest              #关闭rest api功能
--nohttpinterface   #关闭web管理功能
--auth              #指定mongo使用身份验证机制
--bindip            #用逗号分隔ip地址,用来指定
--f                 #将所有前面介绍的参数都可以存放到一个配置文件中,然后用这个参数调用配置文件来启动mongod服务



nohup /opt/mongodb/bin/mongod --dbpath=/opt/mongodb/data/db --logpath=/opt/mongodb/log/mongodb.log & /opt/mongodb/bin/mongo
  --------------------关闭MongoDB--------------------
1.db.shutdownServer()  #推荐优先使用
2.ctrl + c             #在不使用 --fork参数的时候可以使用,可能会造成数据文件损坏
3.kill / kill -2       #在无法使用 a和b的情况下使用,可能会造成数据文件损坏
4.kill -9              #不在万不得已的情况下,不要使用这个方法
--------------------查看MongoDB状态--------------------
db.runCommand({"serverStatus":1})
MONGO_HOME/bin/mongostat
--------------------添加用户,切换用户--------------------
db.addUser("root","123")
db.addUser("read_only","123",true);  #第3个参数表示设置readonly的状态
db.auth("read_only","123")
--------------------数据库备份--------------------
1.关闭mongod服务后,复制--dbpath参数指定的数据文件。优点速度快,缺点需要停止mongo服务。
2.使用mongodump 导出数据,并用mongorestore 导入数据。优点不需要停止mongo服务,缺点在mongodump操作时用户插入的数据可能无法备份出来。
3.fsync and lock锁定数据库的让用户只能使用read功能,再使用方法b导出并导入数据。优点不需要停止mongo服务,缺点在数据库lock期间用户无法执行insert操作。
4.使用slaveDB并且 使用方法c锁定slaveDB,再使用方法b导出并导入数据。优点不需要停止mongo服务,不会影响用户insert操作(推荐使用此方法)。
--------------------修复数据库--------------------
1.MONGO_HOME/bin/mongod --repair
2.use test
   db.repairDatabase()
3.db.runCommand({"repairDatabase":1});
注册服务:
#-----------------------------------
vim /opt/mongodb/bin/mongodb-stop
#!/bin/bash
pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`;
if [ "${pid}" != "" ]; then
kill -2 ${pid};
fi
chmod +x /opt/mongodb/bin/mongodb-stop
#-----------------------------------
mkdir /opt/mongodb/config/
vim /opt/mongodb/bin/mongodb-start
#!/bin/sh
/opt/mongodb/bin/mongod --config /opt/mongodb/config/mongodb \
## --upgrade \ ##runs a database upgrade option if needed \
chmod +x /opt/mongodb/bin/mongodb-start
#-----------------------------------
vim /opt/mongodb/config/mongodb
# Configuration Options for MongoDB
#
# For More Information, Consider:
# - Configuration Parameters: http://www.mongodb.org/display/DOCS/Command+Line+Parameters
# - File Based Configuration: http://www.mongodb.org/display/DOCS/File+Based+Configuration
dbpath = /opt/mongodb/data/db
logpath = /opt/mongodb/log/mongodb.log
logappend = true
bind_ip = 127.0.0.1
port = 27017
fork = true
auth = true
# noauth = true
#---------------自启动---------------
wget http://library.linode.com/databases/mongodb/reference/init-rpm.sh
mv init-rpm.sh /etc/rc.d/init.d/mongodb
chmod +x /etc/rc.d/init.d/mongodb /etc/init.d/mongodb
chkconfig –add mongodb
chkconfig –level 35 mongodb on
-----------------------------------------------------------------
http://sameveryday.blog.163.com/blog/static/178072337201102041455353/
http://blog.iyunv.com/shirdrn/article/details/7105539
http://my.oschina.net/xqinghu/blog/32381
以下为客户端常用命令
show dbs #查看所有数据库
使用test数据库use test
db.getName() #查看当前操作的数据库
显示test所有表show collections
查询服务器状态db.serverStatus()
User:
db.addUser(username, password) #添加用户
db.removeUser(username) #删除用户
Database:
db.dropDatabase() #修复数据库
db.repairDatabase() #删除当前操作数据库
Collection:
db.createCollection(name, { size : …, capped : …, max : … }) #创建数据集合(表)
db.printCollectionStats() #查看数据库状态信息
Profile:
db.getProfilingLevel()
db.setProfilingLevel(level) #0=off 1=slow 2=all
Server:
db.version() #当前数据库版本
db.shutdownServer() #关闭服务端

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-84482-1-1.html 上篇帖子: MongoDB学习笔记(三)--权限 && 导出导入备份恢复 && fsync和锁 下篇帖子: MongoDB学习笔记~索引提高查询效率
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表