zoukankan      html  css  js  c++  java
  • ubuntu16下安装mongodb 3.6

    1.安装MongoDB社区版

    复制代码
    # 1. 导入MongoDB public GPG Key
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
    
    # 2. 添加软件源 
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
    
    # 3. 更新本地软件包
    sudo apt-get update
    # 4. 安装MongoDB
    sudo apt-get install -y mongodb-org
    
    根据教程,本地Ubuntu 16.04系统安装的是mongodb3.6,安装的时候提示如下,会安装下面相关几个软件包:
    Get:1 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6/multiverse amd64 mongodb-org-shell amd64 3.6.0 [8,477 kB]
    Get:2 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6/multiverse amd64 mongodb-org-server amd64 3.6.0 [14.9 MB]                                                                                    
    Get:3 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6/multiverse amd64 mongodb-org-mongos amd64 3.6.0 [8,468 kB]                                                                                   
    Get:4 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6/multiverse amd64 mongodb-org-tools amd64 3.6.0 [34.9 MB]                                                                                     
    Get:5 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6/multiverse amd64 mongodb-org amd64 3.6.0 [3,524 B]          
    复制代码

     

    2.MongoDB的运行

    查看mongod的配置文件,可以看到它默认的数据存储路径、log文件路径、IP接口等并根据需要修改:

    复制代码
    $ sudo vim /etc/mongod.conf 
    # mongod.conf
    
    # for documentation of all options, see:
    #   http://docs.mongodb.org/manual/reference/configuration-options/
    
    # Where and how to store data.
    storage:
      dbPath: /var/lib/mongodb
      journal:
        enabled: true
    #  engine:
    #  mmapv1:
    #  wiredTiger:
    
    # where to write logging data.
    systemLog:
      destination: file
      logAppend: true
      path: /var/log/mongodb/mongod.log
    
    # network interfaces
    net:
      port: 27017
      bindIp: 127.0.0.1
    
    
    # how the process runs
    processManagement:
      timeZoneInfo: /usr/share/zoneinfo
    
    #security:
    
    #operationProfiling:
    
    #replication:
    
    #sharding:
    
    ## Enterprise-Only Options:
    
    #auditLog:
    
    #snmp:
    复制代码

     

    复制代码
    # 1. 启动MongoDB
    sudo service mongod start
    # 2. 验证MongoDB是否启动成功(在/var/log/mongodb/mongod.log文件中看到下面这一行就表示启动成功)
    [initandlisten] waiting for connections on port 27017
    # 3. 停止MongoDB进程
    sudo service mongod stop
    # 4. 重启MongoDB
    sudo service mongod restart
    # 5. 查看MongoDB运行状态
    sudo service mongod status
    复制代码

     

    3.MongoDB的使用

    复制代码
    # 查看版本
    $ mongod --version
    db version v3.6.0
    git version: a57d8e71e6998a2d0afde7edc11bd23e5661c915
    OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
    allocator: tcmalloc
    modules: none
    build environment:
        distmod: ubuntu1604
        distarch: x86_64
        target_arch: x86_64
    复制代码

     

    # 查看帮助信息
    $ mongod --help
    复制代码
    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 - localhost by default
      --bind_ip_all                         bind to all ip addresses
      --ipv6                                enable IPv6 support (disabled by 
                                            default)
      --listenBacklog arg (=128)            set socket listen backlog size
      --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)
      --timeZoneInfo arg                    full path to time zone info directory, 
                                            e.g. /usr/share/zoneinfo
      --keyFile arg                         private key for cluster authentication
      --noauth                              run without security
      --setParameter arg                    Set a configurable parameter
      --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(=disabled)] (=snappy)
                                            Comma-separated list of compressors to 
                                            use for network messages
      --auth                                run with security
      --clusterIpSourceWhitelist arg        Network CIDR specification of permitted
                                            origin for `__system` access.
      --slowms arg (=100)                   value of slow for profile and console 
                                            log
      --slowOpSampleRate arg (=1)           fraction of slow ops to include in the 
                                            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 [=arg(=1)] (=1)
                                            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
      --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
    复制代码

     

     数据库操作:

    复制代码
    $ mongo   # 进入shell
    MongoDB shell version v3.6.0
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.6.0
    Welcome to the MongoDB shell.
    For interactive help, type "help".
    For more comprehensive documentation, see
        http://docs.mongodb.org/
    Questions? Try the support group
        http://groups.google.com/group/mongodb-user
    > show dbs;  # 查看数据库列表
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    > 
    复制代码

    其它的数据增删改查等数据库操作有待更新补充。

     

    参考:

    mongodb 安装使用备记

    官方的安装和测试教程(很详细):Install MongoDB Community Edition on Ubuntu

  • 相关阅读:
    PAT 1005. 继续(3n+1)猜想 (25)
    PAT 1004. 成绩排名 (20)
    android小游戏 飞机躲子弹
    PAT 1004. 成绩排名 (20) JAVA
    PAT 1003. 我要通过!(20) JAVA
    PAT 1003. 我要通过!(20)
    PAT 1002. 写出这个数 (20)
    NEERC, Northern Subregional Contest 2012 B 乱搞or搜索
    SGU 167 未解 dp
    Bucharest, Romania 2013 A Russian Dolls 贪心
  • 原文地址:https://www.cnblogs.com/wuchangsoft/p/9895146.html
Copyright © 2011-2022 走看看