DigitalOcean Setup

Create MonetDB Droplet

Navigate to DigitalOcean marketplace and search for MonetDB 1-Click App. Then click on "Create MonetDB Droplet" button. When Droplet is up and running the default setup is:

  • UFW firewall allow only SSH (port 22, rate limited), HTTP (port 80), and HTTPS (port 443).
  • dbfarm is initialized under /var/monetdb5/dbfarm
  • monetdbd is bound to local interface, and listens on default port 50000. Note that UFW does not allow port 50000 by default.

You can allow more ports(e.g. 50000) by configuring UFW.

Visit monedtbd documentation for more information on how to customize monetdbd.

Connecting to your Droplet using SSH

Before you get started upload your ssh public key to your DigitalOcean account. Then simply connect via SSH.

ssh -i <path_to_your_private_key> root@<public_droplet_ip>

It maybe useful to you to setup SSH tunnel to your droplet in order to access MonetDB. Using default port 50000 do:

ssh -L 50000:localhost:50000 root@<public_droplet_ip> -f -N

Create and start a database

MonetDB uses a concept called dbfarm, which is a directory that can contain multiple databases.

The MonetDB daemon program monetdbd manages one dbfarm at the same time. To communicate with monetdbd, one can use its client program monetdb. For more information regarding monetdbd and monetdb, and server setup visit the Server Setup and Configuration page.

When your MonetDB instance is first started, monetdbd is already running in the background serving a dbfarm at the default location /var/monetdb5/dbfarm. So, you can immediately create and start your first database with the following commands:

monetdb create <database name>
monetdb start <database name>

By default, such a newly created database is started in the "maintenance" mode so that the DB admin can configure the database (e.g. change admin password and create user accounts). While in this mode, the database is only accessible by the MonetDB superuser monetdb on the local machine.

To login to the database, you can use mclient, which is a client program of MonetDB and is available by default on your MonetDB instance:

mclient -u monetdb -d <database name>
password:<monetdb>

By default, the password for the MonetDB superuser monetdb is also monetdb. So, it is strongly recommended to immediately change this default password, which can be done in the mclient console using the SQL command:

ALTER USER SET PASSWORD '<new password>' USING OLD PASSWORD 'monetdb';

Once the database is set up, the DB admin can release the database so that other users can connect to this database:

monetdb release <database name>

To lock a database (again) for maintenance:

monetdb lock <database name>
monetdb stop <database name>
monetdb start <database name>

Release and lock can be done on a running database. It takes effect on new client connections. Therefore, in the commands above, we lock and restart the database to ensure no other users are still connected to the database.

A comprehensive guide can be found at Tutorial page.