MongoDB/March 2017: Difference between revisions
From charlesreid1
| Line 46: | Line 46: | ||
Here are the contents of the default configuration file: | Here are the contents of the default configuration file: | ||
'''mongod.conf (default)''' | '''mongod.conf (homebrew default)''' | ||
<pre> | <pre> | ||
| Line 59: | Line 59: | ||
</pre> | </pre> | ||
... | '''mongod.conf (ubuntu default)''' | ||
<pre> | |||
# mongodb.conf | |||
# Where to store the data. | |||
dbpath=/var/lib/mongodb | |||
#where to log | |||
logpath=/var/log/mongodb/mongodb.log | |||
logappend=true | |||
bind_ip = 127.0.0.1 | |||
#port = 27017 | |||
# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling | |||
journal=true | |||
# Enables periodic logging of CPU utilization and I/O wait | |||
#cpu = true | |||
# Turn on/off security. Off is currently the default | |||
#noauth = true | |||
#auth = true | |||
# Verbose logging output. | |||
#verbose = true | |||
# Inspect all client data for validity on receipt (useful for | |||
# developing drivers) | |||
#objcheck = true | |||
# Enable db quota management | |||
#quota = true | |||
# Set oplogging level where n is | |||
# 0=off (default) | |||
# 1=W | |||
# 2=R | |||
# 3=both | |||
# 7=W+some reads | |||
#oplog = 0 | |||
# Diagnostic/debugging option | |||
#nocursors = true | |||
# Ignore query hints | |||
#nohints = true | |||
# Disable the HTTP interface (Defaults to localhost:27018). | |||
#nohttpinterface = true | |||
# Turns off server-side scripting. This will result in greatly limited | |||
# functionality | |||
#noscripting = true | |||
# Turns off table scans. Any query that would do a table scan fails. | |||
#notablescan = true | |||
# Disable data file preallocation. | |||
#noprealloc = true | |||
# Specify .ns file size for new databases. | |||
# nssize = <size> | |||
# Accout token for Mongo monitoring server. | |||
#mms-token = <token> | |||
# Server name for Mongo monitoring server. | |||
#mms-name = <server-name> | |||
# Ping interval for Mongo monitoring server. | |||
#mms-interval = <seconds> | |||
# Replication Options | |||
# in replicated mongo databases, specify here whether this is a slave or master | |||
#slave = true | |||
#source = master.example.com | |||
# Slave only: specify a single database to replicate | |||
#only = master.example.com | |||
# or | |||
#master = true | |||
#source = slave.example.com | |||
# Address of a server to pair with. | |||
#pairwith = <server:port> | |||
# Address of arbiter server. | |||
#arbiter = <server:port> | |||
# Automatically resync if slave data is stale | |||
#autoresync | |||
# Custom size for replication operation log. | |||
#oplogSize = <MB> | |||
# Size limit for in-memory storage of op ids. | |||
#opIdMem = <bytes> | |||
# SSL options | |||
# Enable SSL on normal ports | |||
#sslOnNormalPorts = true | |||
# SSL Key file and password | |||
#sslPEMKeyFile = /etc/ssl/mongodb.pem | |||
#sslPEMKeyPassword = pass | |||
</pre> | |||
==Starting with Specified Configuration File== | ==Starting with Specified Configuration File== | ||
Revision as of 07:13, 30 March 2017
Covering some notes on MongoDB for the UGR wifi project.
MongoDB goals:
- Get it set up and working locally with a test database script
- Add records
- Drop records
- Query records - for all records within a date range, for all records matching a mac address, for all clients on a certain network, for all macs matching a certain prefix pattern
- Get MongoDB working over stunnel
- Get MongoDB set up in a docker container with a persistent data storage volume
Use the already-finished instructions here:
Also use the PyMODM library:
Installing
Mac
On a Mac, to test things out:
brew install mongodb --with-openssl pip install pymodm
Ubuntu
On Ubuntu, the eventual server platform:
apt-get install mongodb apt-get install python-pip. # may be necessary pip install pymodm
Configuration File
On a Mac, the configuration file should be located in /usr/local/etc/mongod.conf.
On Unbuntu, the config file should be in /etc/mongod.conf.
Here are the contents of the default configuration file:
mongod.conf (homebrew default)
systemLog: destination: file path: /usr/local/var/log/mongodb/mongo.log logAppend: true storage: dbPath: /usr/local/var/mongodb net: bindIp: 127.0.0.1
mongod.conf (ubuntu default)
# mongodb.conf # Where to store the data. dbpath=/var/lib/mongodb #where to log logpath=/var/log/mongodb/mongodb.log logappend=true bind_ip = 127.0.0.1 #port = 27017 # Enable journaling, http://www.mongodb.org/display/DOCS/Journaling journal=true # Enables periodic logging of CPU utilization and I/O wait #cpu = true # Turn on/off security. Off is currently the default #noauth = true #auth = true # Verbose logging output. #verbose = true # Inspect all client data for validity on receipt (useful for # developing drivers) #objcheck = true # Enable db quota management #quota = true # Set oplogging level where n is # 0=off (default) # 1=W # 2=R # 3=both # 7=W+some reads #oplog = 0 # Diagnostic/debugging option #nocursors = true # Ignore query hints #nohints = true # Disable the HTTP interface (Defaults to localhost:27018). #nohttpinterface = true # Turns off server-side scripting. This will result in greatly limited # functionality #noscripting = true # Turns off table scans. Any query that would do a table scan fails. #notablescan = true # Disable data file preallocation. #noprealloc = true # Specify .ns file size for new databases. # nssize = <size> # Accout token for Mongo monitoring server. #mms-token = <token> # Server name for Mongo monitoring server. #mms-name = <server-name> # Ping interval for Mongo monitoring server. #mms-interval = <seconds> # Replication Options # in replicated mongo databases, specify here whether this is a slave or master #slave = true #source = master.example.com # Slave only: specify a single database to replicate #only = master.example.com # or #master = true #source = slave.example.com # Address of a server to pair with. #pairwith = <server:port> # Address of arbiter server. #arbiter = <server:port> # Automatically resync if slave data is stale #autoresync # Custom size for replication operation log. #oplogSize = <MB> # Size limit for in-memory storage of op ids. #opIdMem = <bytes> # SSL options # Enable SSL on normal ports #sslOnNormalPorts = true # SSL Key file and password #sslPEMKeyFile = /etc/ssl/mongodb.pem #sslPEMKeyPassword = pass
Starting with Specified Configuration File
To start with a specified config file, use the -f flag:
mongod -f /usr/local/etc/mongod.conf