• Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)


      不多说,直接上干货!

    说在前面的话

       首先,查看下你的操作系统的版本。 

    root@zhouls-virtual-machine:~# cat /etc/issue
    Ubuntu 14.04.4 LTS 
     l
    
    root@zhouls-virtual-machine:~# 

      我的是Ubuntu 14.04.4

      我的环境在Ubuntu14.04下搭建,注意:不同版本之间可能存在兼容性(其他的如16.04,我也暂时测试过)

    Ubuntu16.04下Mongodb安装部署步骤(图文详解)

    root@zhouls-virtual-machine:~# mongo
    The program 'mongo' is currently not installed. You can install it by typing:
    apt-get install mongodb-clients
    root@zhouls-virtual-machine:~# 
    
    

       这里,建议大家不要直接就输入apt-get install mongodb-clients来安装。

    这样有两点问题:

      1.安装的是客户端

      2.版本问题,这个很重要,项目中mongo数据库用的是2.6,而apt-get自动安装的根本不知道是什么版本,而mongodb不同版本之间是不能兼容的。所以如果根据需要是迁移数据库之类的,这样到后面会有超级一大堆的错误。

    Mongodb安装包的下载

     mongo官网下载地址 (进入)

    根据自己的需要选择版本下载,需要注意亮点:

      1.大版本保持一致,因为大版本之间不兼容

      2.mongodb亦按照基数版本不稳定的规则,一般用于生产环境的都是偶数版本,如果安装的是基数(例如2.7),进入时会出现一下提示。

      我这里,就选择最简单的和免费的,社区服务版本。

        我一般喜欢用tar.gz来下载安装,当然大家也可以选择用rpm方式来安装。

    https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.4.4.tgz

    mongodb的安装部署

       下载解压

      我这里,先暂时是,放在/home/zhouls/Downloads/下

     

     

    复制代码
    zhouls@zhouls-virtual-machine:~/Downloads$ sudo -s
    [sudo] password for zhouls: 
    root@zhouls-virtual-machine:~/Downloads# pwd
    /home/zhouls/Downloads
    root@zhouls-virtual-machine:~/Downloads# ls
    mongodb-linux-x86_64-ubuntu1604-3.4.4.tgz  vmware-tools-distrib
    root@zhouls-virtual-machine:~/Downloads# tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.4.4.tgz 
    mongodb-linux-x86_64-ubuntu1604-3.4.4/README
    mongodb-linux-x86_64-ubuntu1604-3.4.4/THIRD-PARTY-NOTICES
    mongodb-linux-x86_64-ubuntu1604-3.4.4/MPL-2
    mongodb-linux-x86_64-ubuntu1604-3.4.4/GNU-AGPL-3.0
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongodump
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongorestore
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoexport
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoimport
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongostat
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongotop
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/bsondump
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongofiles
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongooplog
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoreplay
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoperf
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongod
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongos
    mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongo
    root@zhouls-virtual-machine:~/Downloads# 
    复制代码

      mongodb不需要像别的数据库那样配置解压后放到/usr/local

      但是为了方便管理,最好还是放到usr/local下面。

      命令如下:

    复制代码
    root@zhouls-virtual-machine:~/Downloads# ls
    mongodb-linux-x86_64-ubuntu1604-3.4.4      vmware-tools-distrib
    mongodb-linux-x86_64-ubuntu1604-3.4.4.tgz
    root@zhouls-virtual-machine:~/Downloads# mv mongodb-linux-x86_64-ubuntu1604-3.4.4  /usr/local/mongodb
    root@zhouls-virtual-machine:~/Downloads# cd /usr/local
    root@zhouls-virtual-machine:/usr/local# pwd
    /usr/local
    root@zhouls-virtual-machine:/usr/local# ls
    bin  etc  games  include  lib  man  mongodb  sbin  share  src
    root@zhouls-virtual-machine:/usr/local# 
    复制代码

       初步认识下,mongdb的目录结构

    root@zhouls-virtual-machine:/usr/local/mongodb# pwd
    /usr/local/mongodb
    root@zhouls-virtual-machine:/usr/local/mongodb# ls
    bin  GNU-AGPL-3.0  MPL-2  README  THIRD-PARTY-NOTICES
    root@zhouls-virtual-machine:/usr/local/mongodb# 

       然后为了mongodb创建存储数据的文件目录和日志文件目录

     

    复制代码
    root@zhouls-virtual-machine:/usr/local/mongodb# pwd
    /usr/local/mongodb
    root@zhouls-virtual-machine:/usr/local/mongodb# ls
    bin  GNU-AGPL-3.0  MPL-2  README  THIRD-PARTY-NOTICES
    root@zhouls-virtual-machine:/usr/local/mongodb# mkdir data
    root@zhouls-virtual-machine:/usr/local/mongodb# mkdir log
    root@zhouls-virtual-machine:/usr/local/mongodb# ls
    bin  data  GNU-AGPL-3.0  log  MPL-2  README  THIRD-PARTY-NOTICES
    root@zhouls-virtual-machine:/usr/local/mongodb# 
    复制代码

      进入到mongodb下面的bin里面查看mongodb帮助文档

    复制代码
    root@zhouls-virtual-machine:/usr/local/mongodb# pwd
    /usr/local/mongodb
    root@zhouls-virtual-machine:/usr/local/mongodb# ls
    bin  data  GNU-AGPL-3.0  log  MPL-2  README  THIRD-PARTY-NOTICES
    root@zhouls-virtual-machine:/usr/local/mongodb# cd bin
    root@zhouls-virtual-machine:/usr/local/mongodb/bin# pwd
    /usr/local/mongodb/bin
    root@zhouls-virtual-machine:/usr/local/mongodb/bin# ls
    bsondump  mongodump    mongoimport  mongoreplay   mongostat
    mongo     mongoexport  mongooplog   mongorestore  mongotop
    mongod    mongofiles   mongoperf    mongos
    root@zhouls-virtual-machine:/usr/local/mongodb/bin# ./mongod -h
    Options:
    
    General options:
      -h [ --help ]                         show this usage information
      --version                             show version information
      -f [ --config ] arg                   configuration file specifying 
                                            additional options
      -v [ --verbose ] [=arg(=v)]           be more verbose (include multiple times
                                            for more verbosity e.g. -vvvvv)
      --quiet                               quieter output
      --port arg                            specify port number - 27017 by default
      --bind_ip arg                         comma separated list of ip addresses to
                                            listen on - all local ips by default
      --ipv6                                enable IPv6 support (disabled by 
                                            default)
      --maxConns arg                        max number of simultaneous connections 
                                            - 1000000 by default
      --logpath arg                         log file to send write to instead of 
                                            stdout - has to be a file, not 
                                            directory
      --syslog                              log to system's syslog facility instead
                                            of file or stdout
      --syslogFacility arg                  syslog facility used for mongodb syslog
                                            message
      --logappend                           append to logpath instead of 
                                            over-writing
      --logRotate arg                       set the log rotation behavior 
                                            (rename|reopen)
      --timeStampFormat arg                 Desired format for timestamps in log 
                                            messages. One of ctime, iso8601-utc or 
                                            iso8601-local
      --pidfilepath arg                     full path to pidfile (if not set, no 
                                            pidfile is created)
      --keyFile arg                         private key for cluster authentication
      --noauth                              run without security
      --setParameter arg                    Set a configurable parameter
      --httpinterface                       enable http interface
      --transitionToAuth                    For rolling access control upgrade. 
                                            Attempt to authenticate over outgoing 
                                            connections and proceed regardless of 
                                            success. Accept incoming connections 
                                            with or without authentication.
      --clusterAuthMode arg                 Authentication mode used for cluster 
                                            authentication. Alternatives are 
                                            (keyFile|sendKeyFile|sendX509|x509)
      --nounixsocket                        disable listening on unix sockets
      --unixSocketPrefix arg                alternative directory for UNIX domain 
                                            sockets (defaults to /tmp)
      --filePermissions arg                 permissions to set on UNIX domain 
                                            socket file - 0700 by default
      --fork                                fork server process
      --networkMessageCompressors arg       Comma-separated list of compressors to 
                                            use for network messages
      --auth                                run with security
      --jsonp                               allow JSONP access via http (has 
                                            security implications)
      --rest                                turn on simple rest api
      --slowms arg (=100)                   value of slow for profile and console 
                                            log
      --profile arg                         0=off 1=slow, 2=all
      --cpu                                 periodically show cpu and iowait 
                                            utilization
      --sysinfo                             print some diagnostic system 
                                            information
      --noIndexBuildRetry                   don't retry any index builds that were 
                                            interrupted by shutdown
      --noscripting                         disable scripting engine
      --notablescan                         do not allow table scans
      --shutdown                            kill a running server (for init 
                                            scripts)
    
    Replication options:
      --oplogSize arg                       size to use (in MB) for replication op 
                                            log. default is 5% of disk space (i.e. 
                                            large is good)
    
    Master/slave options (old; use replica sets instead):
      --master                              master mode
      --slave                               slave mode
      --source arg                          when slave: specify master as 
                                            <server:port>
      --only arg                            when slave: specify a single database 
                                            to replicate
      --slavedelay arg                      specify delay (in seconds) to be used 
                                            when applying master ops to slave
      --autoresync                          automatically resync if slave data is 
                                            stale
    
    Replica set options:
      --replSet arg                         arg is <setname>[/<optionalseedhostlist
                                            >]
      --replIndexPrefetch arg               specify index prefetching behavior (if 
                                            secondary) [none|_id_only|all]
      --enableMajorityReadConcern           enables majority readConcern
    
    Sharding options:
      --configsvr                           declare this is a config db of a 
                                            cluster; default port 27019; default 
                                            dir /data/configdb
      --shardsvr                            declare this is a shard db of a 
                                            cluster; default port 27018
    
    SSL options:
      --sslOnNormalPorts                    use ssl on configured ports
      --sslMode arg                         set the SSL operation mode 
                                            (disabled|allowSSL|preferSSL|requireSSL
                                            )
      --sslPEMKeyFile arg                   PEM file for ssl
      --sslPEMKeyPassword arg               PEM file password
      --sslClusterFile arg                  Key file for internal SSL 
                                            authentication
      --sslClusterPassword arg              Internal authentication key file 
                                            password
      --sslCAFile arg                       Certificate Authority file for SSL
      --sslCRLFile arg                      Certificate Revocation List file for 
                                            SSL
      --sslDisabledProtocols arg            Comma separated list of TLS protocols 
                                            to disable [TLS1_0,TLS1_1,TLS1_2]
      --sslWeakCertificateValidation        allow client to connect without 
                                            presenting a certificate
      --sslAllowConnectionsWithoutCertificates 
                                            allow client to connect without 
                                            presenting a certificate
      --sslAllowInvalidHostnames            Allow server certificates to provide 
                                            non-matching hostnames
      --sslAllowInvalidCertificates         allow connections to servers with 
                                            invalid certificates
      --sslFIPSMode                         activate FIPS 140-2 mode at startup
    
    Storage options:
      --storageEngine arg                   what storage engine to use - defaults 
                                            to wiredTiger if no data files present
      --dbpath arg                          directory for datafiles - defaults to 
                                            /data/db
      --directoryperdb                      each database will be stored in a 
                                            separate directory
      --noprealloc                          disable data file preallocation - will 
                                            often hurt performance
      --nssize arg (=16)                    .ns file size (in MB) for new databases
      --quota                               limits each database to a certain 
                                            number of files (8 default)
      --quotaFiles arg                      number of files allowed per db, implies
                                            --quota
      --smallfiles                          use a smaller default file size
      --syncdelay arg (=60)                 seconds between disk syncs (0=never, 
                                            but not recommended)
      --upgrade                             upgrade db if needed
      --repair                              run repair on all dbs
      --repairpath arg                      root directory for repair files - 
                                            defaults to dbpath
      --journal                             enable journaling
      --nojournal                           disable journaling (journaling is on by
                                            default for 64 bit)
      --journalOptions arg                  journal diagnostic options
      --journalCommitInterval arg           how often to group/batch commit (ms)
    
    WiredTiger options:
      --wiredTigerCacheSizeGB arg           maximum amount of memory to allocate 
                                            for cache; defaults to 1/2 of physical 
                                            RAM
      --wiredTigerStatisticsLogDelaySecs arg (=0)
                                            seconds to wait between each write to a
                                            statistics file in the dbpath; 0 means 
                                            do not log statistics
      --wiredTigerJournalCompressor arg (=snappy)
                                            use a compressor for log records 
                                            [none|snappy|zlib]
      --wiredTigerDirectoryForIndexes       Put indexes and data in different 
                                            directories
      --wiredTigerCollectionBlockCompressor arg (=snappy)
                                            block compression algorithm for 
                                            collection data [none|snappy|zlib]
      --wiredTigerIndexPrefixCompression arg (=1)
                                            use prefix compression on row-store 
                                            leaf pages
    
    root@zhouls-virtual-machine:/usr/local/mongodb/bin# 
    复制代码

    找到参数

    --fork

    --dbpath arg

    --logpath arg

    --nohttpinterface

    启动 MongoDB数据库

      使用下列命令启动 mongod 进程。

    sudo service mongod start

    或者

      启动数据库(推荐)

    ./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/log

      --dbpath=/usr/local/mongodb/data/ 用于指定存放的mongodb数据库

      --fork 是后台执行,不然一直在前台

      --logpath=/usr/local/mongodb/log用于指定mongodb的日志记录文件

     

    mongodb启动时报错ERROR: child process failed, exited with error number 1

    检查 MongoDB 是否成功启动

      通过检查 /var/log/mongodb/mongod.log 文件来确定 mongod 进程是否已经成功启动。 
    或者查看进程

    ps -ef | grep mongod

     

    root@zhouls-virtual-machine:~# ps -ef | grep mongod
    root       6072   4783  1 11:09 ?        00:00:01 ./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/log
    root       6138   6126  0 11:12 pts/11   00:00:00 grep --color=auto mongod
    root@zhouls-virtual-machine:~# 

    启动后即可通过mongo命令进入数据库

     

      如果大家按照上面的步骤来,安装之后,还是出现这样的情况的话,则那么直接,用apt install mongodb-clients吧。

       

    停止 MongoDB

    sudo service mongod stop

    重新启动 MongoDB

    sudo service mongod restart

  • 相关阅读:
    mvc多级views目录
    JSP中文乱码总结
    sql查询指定表外键约束
    eclipse设置汉化
    c#序列化json字符串及处理
    获取需要登录认证的远程数据
    vs2013 括号自动配对样式设置
    c#中事物使用
    ListView遍历每个Item出现NullPointerException的异常
    gen目录无法更新,或者gen目录下的R.JAVA文件无法生成
  • 原文地址:https://www.cnblogs.com/zlslch/p/6930952.html
Copyright © 2020-2023  润新知