开发者社区> 问答> 正文

mongodb如何安装

mongodb如何安装

展开
收起
社区秘书 2019-12-10 14:57:31 1158 0
1 条回答
写回答
取消 提交回答
  • 一、创建MongoDB的安装路径

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

    mkdir mongoDB

    ecda4030fa3f35a32c2a228d2910214.png

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

    1. 我首先在mongoDB下载路径中下载mongoDB对应的版本。

    2.通过FTP工具将安装包上传到linux机器上面。

    ccd27cd94a4f78c6e83b28ab3fa7794.png

    三、解压文件

    1. 进入到/usr/local/source目录:

    cd /usr/local/source

    1. 运行如下命令:

    tar -zxvf mongodb-linux-i686-3.2.13-rc0.gz -C /usr/local/mongoDB

    5c06539868f3d4830663d2f19d87c2a.png

    1. 重命名

    04d022de8492a14d9451c5170103d4d.png

    四、创建配置文件

    1. 创建数据库文件夹

    cd /usr/local/mongoDB/mongodbserver

    mkdir data

    87c7ac317901954de4dac48aaeb2396.png

    1. 创建日志文件夹

    cd /usr/local/mongoDB/mongodbserver

    mkdir log

    cfc23000015d924297a541e211f58b7.png

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

    3.1 创建配置文件夹etc

    cd /usr/local/mongoDB/mongodbserver

    mkdir etc

    89b7e26935df765610f00fd1ab0896d.png

    3.2 创建配置文件mongodb.conf

    cd /usr/local/mongoDB/mongodbserver/etc

    vim mongodb.conf

    dbpath=/usr/local/mongoDB/mongodbserver/data

    logpath=/usr/local/mongoDB/mongodbserver/logs/mongodb.log

    port=27017

    fork=true

    journal=false

    storageEngine=mmapv1

    五、启动MongoDB

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

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

    f25cf05f47123cf299e18efb7b0c7e8.png

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

    6be8a3367f25bb7fc890fb95170a9c7.png

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

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

    2a86d90f822dc324a787973a8731c31.png

    use admin

    switched to db admin

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

    成功后,你将会看到:

    ae894bd5e988c7a9094f6e5e82ed332.png

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

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

    4.使用权限方式启动MongoDB

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

    244c9de005a60b6ad008b73b8ef36a9.png

    5.进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。

    c0082306130e40482fb65439ebb40fd.png

    use admin

    db.auth("pfnieadmin","123456") #认证,返回1表示成功

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

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

    2eb358a80e4561264d15d50c71d3044.png

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

    52f629f03b70df8f36db5e098d06910.png

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

    1.执行命令:

    ln -s /usr/local/mongoDB/mongodbserver/bin/mongo /usr/bin/mongo

    4814c8e4d0768832f00a7c2741eee91.png

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

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

    cb50f0b1e1b8639bfbb2351602064d0.png

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

    d52f2a24a24dfdd4644e4d13b248d52.png

    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()。

    fde035b7eff9520c77c89a6406726b4.png

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

    killall mongod

    1. 启动mongod服务

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

    ad720e0c37bef9429fcef33905b593e.png

    九、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 如下图所示,则说明启动成功:

    c9b008e399f8c88e6ee0bf3640ec193.png

    6.可以使用命令service mongod stop关闭MongoDB服务。

    7.验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。

    2019-12-10 14:57:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载