zoukankan      html  css  js  c++  java
  • linux下安装mongoDB 并创建索引

    Linux下MongoDB安装和配置详解

    一、创建MongoDB的安装路径

    在/usr/local/  创建文件夹mongoDB

    mkdir mongoDB

    二、上传文件到Linux上的/usr/local/source目录下

    1. 进入MongoDB目录

    cd /usr/local/mongoDB

    2.下载地址:

    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

    3.解压

    tar -zxvf mongodb-linux-x86_64-3.0.6.tgz

    三、创建配置文件

    1. 创建数据库文件夹

    cd /usr/local/mongoDB/mongodb-linux-x86_64-3.0.6

    mkdir data

    2. 创建日志文件夹

    cd /usr/local/mongoDB/mongodb-linux-x86_64-3.0.6

    mkdir log

    3. 创建配置文件夹与配置文件

    3.1 创建配置文件夹etc

    cd /usr/local/mongoDB/mongodb-linux-x86_64-3.0.6

    mkdir etc

    3.2 创建配置文件mongodb.conf

    cd /usr/local/mongoDB/mongodb-linux-x86_64-3.0.6/etc

    vim mongodb.conf

    dbpath=/usr/local/mongoDB/mongodb-linux-x86_64-3.0.6/data
    logpath=/usr/local/mongoDB/mongodb-linux-x86_64-3.0.6/logs/mongodb.log
    port=27017
    fork=true
    journal=false
    storageEngine=mmapv1

    四、启动MongoDB

    1. mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可,如下所示:

    ./mongod --config /usr/local/mongoDB/mongodb-linux-x86_64-3.0.6/etc/mongodb.conf

    提示如下代码说明成功了

    about to fork child process, waiting until server is ready for connections.
    forked process: 115870
    child process started successfully, parent exiting

    启动成功后,访问http://npfdev1:27017/ , 可以看到:

    2、添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)

    利用mongo命令连接mongoDB服务器端:

    > use admin
    switched to db admin
    > db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

    成功后,你将会看到:

    注:添加完用户后可以使用show users或db.system.users.find()查看已有用户.

    3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭.

    4、使用权限方式启动MongoDB

    在配置文件中添加:auth=true , 然后启动:

    5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。 
    > use admin
    > db.auth("pfnieadmin","123456")   #认证,返回1表示成功

    五、将mongod路径添加到系统路径中,方便随处执行mongod命令

    1. 在/etc/profile文件中,添加 export PATH=$PATH:/usr/local/mongoDB/mongodbserver/bin

    2. 执行source /etc/profile,使系统环境变量立即生效

    六、将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令

    1. 执行命令: ln -s /usr/local/mongoDB/mongodbserver/bin/mongo  /usr/bin/mongo

    七、测试是否方便随处执行mongo命令

    1. 回到任意路径下,执行mongo命令,连接mongod服务

    2. 关闭mongod服务,执行db.shutdownServer()

    2017-04-20T18:32:26.865+0800 E QUERY [thread1] Error: shutdownServer failed: {
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { shutdown: 1.0 }",
    "code" : 13
    } :
    _getErrorWithCode@src/mongo/shell/utils.js:25:13
    DB.prototype.shutdownServer@src/mongo/shell/db.js:302:1
    @(shell):1:1

    解决办法,执行下面的语句,添加权限:

    复制代码
    db.updateUser(
     "pfnieadmin",
            {
               roles : [
                         {"role" : "userAdminAnyDatabase","db" : "admin"},
                         {"role" : "dbOwner","db" : "admin"},
    {"role" : "clusterAdmin", "db": "admin"} ] } )
    复制代码

    然后在执行db.shutdownServer().

    或者执行下面的命令关闭:

    killall mongod

    3. 启动mongod服务

    mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf

     

    八、MongoDB设置为系统服务并且设置开机启动

    1.通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。
    2.首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod
    3.打开编辑器后,我们将下面的配置粘贴进去,然后保存

    复制代码
    start() {  
    /usr/local/mongoDB/mongodbserver/bin/mongod  --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf 
    }  
      
    stop() {  
    /usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf --shutdown  
    }  
    case "$1" in  
      start)  
     start  
     ;;  
      
    stop)  
     stop  
     ;;  
      
    restart)  
     stop  
     start  
     ;;  
      *)  
     echo  
    $"Usage: $0 {start|stop|restart}"  
     exit 1  
    esac 
    复制代码

    4.保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod
    5.启动MongoDB,service mongod start 如下图所示,则说明启动成功:

    6.可以使用命令service mongod stop关闭MongoDB服务。
    7. 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。

    九、MongoDB数据查询

    use admin  

    switched to db admin  

    查询数据

    db.message.find({})   显示message表中数据

    十、创建索引

    db.collection.createIndex(keys, options)  
    示例:
    db.message.createIndex({"title":1,"description":-1}) 1标识升序 -1标识降序

     

    原始文件来自:https://www.cnblogs.com/pfnie/articles/6759105.html

  • 相关阅读:
    tp5中调用接口api中的数据
    TP5.0如何转换成SQL语句输出构造器里面的方法
    unlink() 函数删除文件。
    tp5 图片上传
    Java第十一章多线程
    Java Character类
    前端技术学习路线及技术汇总
    Web发展史
    HTML
    JavaNumber类&JavaMath类
  • 原文地址:https://www.cnblogs.com/shiyilang398/p/12674879.html
Copyright © 2011-2022 走看看