Ubuntu16.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)

来源:互联网 发布:178软件源地址 编辑:程序博客网 时间:2024/05/22 06:35

 转  http://www.cnblogs.com/zlslch/p/6931838.html

 

 

 

  不多说,直接上干货!

 

 

 

 

说在前面的话

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

root@zhouls-virtual-machine:~# cat /etc/issueUbuntu 16.04.1 LTS \n \lroot@zhouls-virtual-machine:~#

 

  我的是Ubuntu 16.04.4

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

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

 

 

 

 

 

root@zhouls-virtual-machine:~# mongoThe program 'mongo' is currently not installed. You can install it by typing:apt-get install mongodb-clientsroot@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/Downloadsroot@zhouls-virtual-machine:~/Downloads# lsmongodb-linux-x86_64-ubuntu1604-3.4.4.tgz  vmware-tools-distribroot@zhouls-virtual-machine:~/Downloads# tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.4.4.tgz mongodb-linux-x86_64-ubuntu1604-3.4.4/READMEmongodb-linux-x86_64-ubuntu1604-3.4.4/THIRD-PARTY-NOTICESmongodb-linux-x86_64-ubuntu1604-3.4.4/MPL-2mongodb-linux-x86_64-ubuntu1604-3.4.4/GNU-AGPL-3.0mongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongodumpmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongorestoremongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoexportmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoimportmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongostatmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongotopmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/bsondumpmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongofilesmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongooplogmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoreplaymongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoperfmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongodmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongosmongodb-linux-x86_64-ubuntu1604-3.4.4/bin/mongoroot@zhouls-virtual-machine:~/Downloads# 
复制代码

 

 

 

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

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

 

  命令如下:

复制代码
root@zhouls-virtual-machine:~/Downloads# lsmongodb-linux-x86_64-ubuntu1604-3.4.4      vmware-tools-distribmongodb-linux-x86_64-ubuntu1604-3.4.4.tgzroot@zhouls-virtual-machine:~/Downloads# mv mongodb-linux-x86_64-ubuntu1604-3.4.4  /usr/local/mongodbroot@zhouls-virtual-machine:~/Downloads# cd /usr/localroot@zhouls-virtual-machine:/usr/local# pwd/usr/localroot@zhouls-virtual-machine:/usr/local# lsbin  etc  games  include  lib  man  mongodb  sbin  share  srcroot@zhouls-virtual-machine:/usr/local# 
复制代码

 

 

 

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

root@zhouls-virtual-machine:/usr/local/mongodb# pwd/usr/local/mongodbroot@zhouls-virtual-machine:/usr/local/mongodb# lsbin  GNU-AGPL-3.0  MPL-2  README  THIRD-PARTY-NOTICESroot@zhouls-virtual-machine:/usr/local/mongodb# 

 

 

 

 

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

 

复制代码
root@zhouls-virtual-machine:/usr/local/mongodb# pwd/usr/local/mongodbroot@zhouls-virtual-machine:/usr/local/mongodb# lsbin  GNU-AGPL-3.0  MPL-2  README  THIRD-PARTY-NOTICESroot@zhouls-virtual-machine:/usr/local/mongodb# mkdir dataroot@zhouls-virtual-machine:/usr/local/mongodb# mkdir logroot@zhouls-virtual-machine:/usr/local/mongodb# lsbin  data  GNU-AGPL-3.0  log  MPL-2  README  THIRD-PARTY-NOTICESroot@zhouls-virtual-machine:/usr/local/mongodb# 
复制代码

 

 

 

 

 

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

复制代码
root@zhouls-virtual-machine:/usr/local/mongodb# pwd/usr/local/mongodbroot@zhouls-virtual-machine:/usr/local/mongodb# lsbin  data  GNU-AGPL-3.0  log  MPL-2  README  THIRD-PARTY-NOTICESroot@zhouls-virtual-machine:/usr/local/mongodb# cd binroot@zhouls-virtual-machine:/usr/local/mongodb/bin# pwd/usr/local/mongodb/binroot@zhouls-virtual-machine:/usr/local/mongodb/bin# lsbsondump  mongodump    mongoimport  mongoreplay   mongostatmongo     mongoexport  mongooplog   mongorestore  mongotopmongod    mongofiles   mongoperf    mongosroot@zhouls-virtual-machine:/usr/local/mongodb/bin# ./mongod -hOptions: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                                         staleReplica set options:  --replSet arg                         arg is <setname>[/<optionalseedhostlist                                        >]  --replIndexPrefetch arg               specify index prefetching behavior (if                                         secondary) [none|_id_only|all]  --enableMajorityReadConcern           enables majority readConcernSharding 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 27018SSL 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 startupStorage 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 pagesroot@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 mongodroot       6072   4783  1 11:09 ?        00:00:01 ./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/logroot       6138   6126  0 11:12 pts/11   00:00:00 grep --color=auto mongodroot@zhouls-virtual-machine:~# 

 

 

 

 

 

 

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

 

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

   

 

 

 

 

 

 

 

停止 MongoDB

sudo service mongod stop

 

 

 

 

 

重新启动 MongoDB

sudo service mongod restart

 

阅读全文
0 0
原创粉丝点击