MongoDB的安装和配置:
1、安装方式介绍:
yum安装方式:
手动通用安装方式:
2、二进制可执行安装:
下载路径:Download MongoDB Community Server | MongoDB
下载mongodb的源码包进行安装。
1)解压到安装目录并移动:
shell > tar xvf mongodb-linux-x86_64-rhel62-3.6.5.tgz
shell > mv mongodb-linux-x86_64-rhel62-3.6.5 /usr/local/mongodb
[root@server10 soft]# tar -zxvf mongodb-linux-x86_64-rhel62-3.6.5.tgz
mongodb-linux-x86_64-rhel62-3.6.5/README
mongodb-linux-x86_64-rhel62-3.6.5/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-rhel62-3.6.5/MPL-2
mongodb-linux-x86_64-rhel62-3.6.5/GNU-AGPL-3.0
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongodump
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongorestore
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongoexport
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongoimport
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongostat
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongotop
mongodb-linux-x86_64-rhel62-3.6.5/bin/bsondump
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongofiles
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongoreplay
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongoperf
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongod
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongos
mongodb-linux-x86_64-rhel62-3.6.5/bin/mongo
mongodb-linux-x86_64-rhel62-3.6.5/bin/install_compass
[root@server10 soft]# ll
total 98236
drwxr-xr-x 3 root root 91 Sep 16 20:05 mongodb-linux-x86_64-rhel62-3.6.5
-rw-r--r-- 1 root root 100589678 Sep 16 20:04 mongodb-linux-x86_64-rhel62-3.6.5.tgz
[root@server10 soft]#
[root@server10 soft]# mv mongodb-linux-x86_64-rhel62-3.6.5 /usr/local/mongodb
2)创建数据存储目录和日志目录:
shell > cd /usr/local/mongodb
shell > mkdir data
shell > mkdir logs
3)启动mongod服务:
shell > cd /usr/local/mongodb/bin
shell > ./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/log.txt --fork
#可以通过进程和端口的方式检测是否启动成功
shell > ps aux|grep mongod
shell > netstat -lntp|grep mongod
端口是27017,为什么是127.0.0.1是本地,是为了安全。
[root@server10 bin]# ./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
学会使用./mongod --help 查看选项。
参数介绍:
dbpath 数据存储路径
logpath 日志存储路径 指向到一个文件
fork 后台启动
auth 权限开启
bind_ip 指定绑定网卡ip
fork是后台启动。这个要记住的。
目录不在不会创建,文件不在是需要创建的。
配置下环境变量:
vim /etc/profile
然后再source /etc/profile操作下。
命令行客户端操作:
./mongo
[root@server10 bin]# ./mongo
MongoDB shell version v3.6.5
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.5
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
Server has startup warnings:
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten]
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten]
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost.
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server.
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning.
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten]
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten]
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten]
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2023-09-16T20:07:07.975+0800 I CONTROL [initandlisten]
>
输入help检查相关信息。