MongoDB 3.2 Bash Install Script
Category : Supporting Scripts
The below script installs MongoDB 3.2.x on Debian. Copy and paste the script into a file called install_mongo.sh and execute it as root.
#!/bin/bash
set -e
echo "Installing repo"
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 main" > /etc/apt/sources.list.d/mongodb-org-3.2.list
echo "Installing binaries"
apt-get update
apt-get install -y mongodb-org
service mongod stop
echo "Setting up default settings"
rm -rf /var/lib/mongodb/*
cat > /etc/mongod.conf <<'EOF'
storage:
dbPath: /var/lib/mongodb
directoryPerDB: true
journal:
enabled: true
engine: "wiredTiger"
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 0.0.0.0
maxIncomingConnections: 100
replication:
oplogSizeMB: 128
replSetName: "rs1"
security:
authorization: enabled
EOF
service mongod start
sleep 5
mongo admin <<'EOF'
use admin
rs.initiate()
exit
EOF
sleep 5
echo "Adding admin user"
mongo admin <<'EOF'
use admin
rs.initiate()
var user = {
"user" : "admin",
"pwd" : "admin",
roles : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
db.createUser(user);
exit
EOF
echo "Complete"
Then connect to the local MongoDB instance
mongo admin -u admin -p admin MongoDB shell version: 3.2.7 connecting to: admin rs1:PRIMARY>
2 Comments
mb
10-May-2017 at 8:41 amwhy line 18? – rm -rf /var/lib/mongodb/*
You cant connect to Mongo after running this line, the service fails to start?!?!? Or am I missing something
James Coyle
23-May-2017 at 12:42 pmIt’s so that a new admin database can be created, removing everything existing.