Note: MySQL might fail to run as a service, for this you can manually start it by navigating to Start > Settings > Control Panel > Administrative Tools > Services
Then find the service called “MySQL”, right click > Properties then you can either click the “start” button or set “Startup Type” to automatic.

Debian/Debian derived distributions

  1. Install the MySQL server package as root:

    sudo apt-get install mysql-server
  2. Enter a root password


Docker allows easy installation of MySQL in a self-contained container on linux but is a bit more complicated option on Windows or OSX. See on how to start using Docker.

After you have installed Docker, it's easy to launch a MySQL container. This will download a MySQL 5.6 Docker image and run it:

$ sudo docker run --name openmrs-mysql56 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=openmrs -d mysql:5.6

Now you can connect to the database on port 3306 with username "root" and password "openmrs". Note that the port mapping argument -p 3306:3306 is needed to expose MySQL service's port inside the container to the host.

You may also ask Docker to list all Docker containers:

$ sudo docker ps --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
233f1d85e7c9        mysql:5.6           "/ mysql"   20 seconds ago      Up 19 seconds>3306/tcp   openmrs-mysql56

Need to test on another MySQL version? You may run multiple MySQL container's simultaneously just as long as you give them unique names and port mappings. For example to run a MySQL 5.5 container, you might say:

$ sudo docker run --name openmrs-mysql55 -p 3316:3306 -e MYSQL_ROOT_PASSWORD=openmrs -d mysql:5.5

Stopping and starting your database container is easy:

# stopping...
$ sudo docker stop openmrs-mysql56

# ...and starting again
$ sudo docker start openmrs-mysql56

If you decide you don't need the database any more you can remove it:

$ sudo docker rm openmrs-mysql56