zoukankan      html  css  js  c++  java
  • Ubuntu16.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)

      不多说,直接上干货!

    说在前面的话

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

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

      我的是Ubuntu 16.04.4

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

    Ubuntu14.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-ubuntu1604-3.4.4.tgz

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

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

     

       或者

    大家,也可以安装最新的稳定版 MongoDB 或指定版本的 MongoDB。 

      安装MongoDB最新的稳定版本

      使用下列命令:

    sudo apt-get install -y mongodb-org

      如果你想安装指定版本的MongoDB,请按照下面的方法。 
      下面的例子安装 3.2.0 版本的 MongoDB: 
      MongoDB的不同组件都可以指定相应的版本号

    sudo apt-get install -y mongodb-org=3.2.0 mongodb-org-server=3.2.0 mongodb-org-shell=3.2.0 mongodb-org-mongos=3.2.0 mongodb-org-tools=3.2.0

    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

  • 相关阅读:
    14.18 InnoDB Backup and Recovery 备份和恢复:
    14.18 InnoDB Backup and Recovery 备份和恢复:
    php使用 _before_index() 来实现访问页面前,判断登录
    php使用 _before_index() 来实现访问页面前,判断登录
    查询方式实例演示
    查询方式实例演示
    haproxy timeout server 46000 后台超时时间
    haproxy timeout server 46000 后台超时时间
    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
    14.10.5 Reclaiming Disk Space with TRUNCATE TABLE 回收空间使用TRUNCATE TABLE
  • 原文地址:https://www.cnblogs.com/zlslch/p/6931838.html
Copyright © 2011-2022 走看看