zoukankan      html  css  js  c++  java
  • mongodb入门安装与配置

    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.csdn.net/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() #关闭服务端

  • 相关阅读:
    360抢票王验证码自动识别真的那么牛吗?
    wpf 的各个template
    HTML/CSS实现的一个列表页
    泛型约束和利用反射修改对象属性的值
    KindEditor富文本编辑器, 从客户端中检测到有潜在危险的 Request.Form 值
    检查对象是否为NULL或者为Empty
    【笔记】WPF实现ViewPager引导界面效果及问题汇总
    【笔记】WPF之模板控件应用
    【笔记】W3C CSS关键属性
    【转】Web标准中的常见问题
  • 原文地址:https://www.cnblogs.com/wen12128/p/2832587.html
Copyright © 2011-2022 走看看