May 15, 2018 · MongoDB CentOS Ubuntu

Setup MongoDB

Docker

docker run -d --name mongo -e MONGO_INITDB_ROOT_USERNAME=username -e MONGO_INITDB_ROOT_PASSWORD=password -p 127.0.0.1:27017:27017 mongo_instance_name

Setup new DB / User

mongo

use admin
db.createUser( { user: "root", pwd: "root_password", roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ] } );
mongo -u root -p --authenticationDatabase admin

use new_db
db.createUser( { user: "wiki", pwd: "wiki_password", roles: [ { role: "dbOwner", db: "new_db" } ] } );

// Add user /remove user role
db.updateUser( "wiki", { roles: [ { role: "dbOwner", db: "mypetpetDB" },{ role: "dbOwner", db: "secretDB" }  ] } );

/etc/mongod.conf
sudo vim /etc/mongod.conf

comment #bindIp
# add following#######
security:
  authorization: 'enabled'
#######################

bash this if you need to public the zone on CentOS

firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload