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
-
- --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
[/ - >]
- --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 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检查相关信息。