diff --git a/Dockerfile b/Dockerfile
index 153a6d2..9392d74 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,5 +25,5 @@
 FROM ubuntu:16.04
 RUN  apt-get update && \
   DEBIAN_FRONTEND=noninteractive apt-get --yes install git tox make python-all python3 python3-pip debhelper wget && \
-  DEBIAN_FRONTEND=noninteractive apt-get --yes install libmysqlclient-dev libxml2 python3-all && \
+  DEBIAN_FRONTEND=noninteractive apt-get --yes install libmysqlclient-dev libxml2 python3-all libssl-dev && \
   DEBIAN_FRONTEND=noninteractive pip3 install -U setuptools setuptools-version-command stdeb
diff --git a/debian/python3-osm-mon.postinst b/debian/python3-osm-mon.postinst
index 26ac8d7..fc18a7a 100644
--- a/debian/python3-osm-mon.postinst
+++ b/debian/python3-osm-mon.postinst
@@ -37,4 +37,5 @@
 pip3 install python-ceilometerclient==2.9.*
 pip3 install peewee-migrate==1.1.*
 pip3 install python-novaclient==12.0.*
+pip3 install pymysql==0.9.*
 echo "Installation of python dependencies finished"
diff --git a/docker/Dockerfile b/docker/Dockerfile
index dca983c..5271205 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -25,7 +25,7 @@
 LABEL authors="Benjamín Díaz"
 
 RUN apt-get --yes update \
- && apt-get --yes install git python3 python3-pip libmysqlclient-dev libssl-dev libffi-dev \
+ && apt-get --yes install git python3 python3-pip libmysqlclient-dev libssl-dev libffi-dev mysql-client \
  && pip3 install pip==9.0.3
 
 COPY requirements.txt /mon/requirements.txt
@@ -60,4 +60,4 @@
 HEALTHCHECK --interval=5s --timeout=2s --retries=12 \
   CMD osm-mon-healthcheck || exit 1
 
-CMD /bin/bash mon/docker/scripts/runInstall.sh
+CMD /bin/bash mon/docker/scripts/start.sh
diff --git a/docker/scripts/runInstall.sh b/docker/scripts/runInstall.sh
deleted file mode 100755
index 254decc..0000000
--- a/docker/scripts/runInstall.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2018 Whitestack, LLC
-# *************************************************************
-
-# This file is part of OSM Monitoring module
-# All Rights Reserved to Whitestack, LLC
-
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-
-#         http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-# For those usages not covered by the Apache License, Version 2.0 please
-# contact: bdiaz@whitestack.com or glavado@whitestack.com
-##
-osm-mon-server &
-osm-mon-evaluator &
-osm-mon-collector
-
diff --git a/docker/scripts/start.sh b/docker/scripts/start.sh
new file mode 100644
index 0000000..fc0b3c3
--- /dev/null
+++ b/docker/scripts/start.sh
@@ -0,0 +1,57 @@
+DB_EXISTS=""
+
+max_attempts=120
+function wait_db(){
+    db_host=$1
+    db_port=$2
+    attempt=0
+    echo "Wait until $max_attempts seconds for MySQL mano Server ${db_host}:${db_port} "
+    while ! mysqladmin ping -h"$db_host" -P"$db_port" --silent; do
+        #wait 120 sec
+        if [ $attempt -ge $max_attempts ]; then
+            echo
+            echo "Can not connect to database ${db_host}:${db_port} during $max_attempts sec"
+            return 1
+        fi
+        attempt=$[$attempt+1]
+        echo -n "."
+        sleep 1
+    done
+    return 0
+}
+
+function is_db_created() {
+    db_host=$1
+    db_port=$2
+    db_user=$3
+    db_pswd=$4
+    db_name=$5
+
+    if mysqlshow -h"$db_host" -P"$db_port" -u"$db_user" -p"$db_pswd" | grep -v Wildcard | grep -q $db_name; then
+        echo "DB $db_name exists"
+        return 0
+    else
+        echo "DB $db_name does not exist"
+        return 1
+    fi
+}
+
+if [[ $OSMMON_SQL_DATABASE_URI == *'mysql'* ]]; then
+    DB_HOST=$(echo $OSMMON_SQL_DATABASE_URI | sed -r 's|^\w+://.+:.+@(.+):.*$|\1|')
+    DB_PORT=$(echo $OSMMON_SQL_DATABASE_URI | sed -r 's|^\w+://.*:([0-9]+).*$|\1|')
+    DB_USER=$(echo $OSMMON_SQL_DATABASE_URI | sed -r 's|^\w+://(.+):.+@.+$|\1|')
+    DB_PASSWORD=$(echo $OSMMON_SQL_DATABASE_URI | sed -r 's|^.+://.+:(.+)@.*$|\1|')
+    DB_NAME=$(echo $OSMMON_SQL_DATABASE_URI | sed -r 's|^\w+://.+:.+@.+:.*/(.+)$|\1|')
+    
+    wait_db "$DB_HOST" "$DB_PORT" || exit 1
+
+    is_db_created "$DB_HOST" "$DB_PORT" "$DB_USER" "$DB_PASSWORD" "$DB_NAME" && DB_EXISTS="Y"
+
+    if [ -z $DB_EXISTS ]; then
+        mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASSWORD" --default_character_set utf8 -e "CREATE DATABASE $DB_NAME"
+    fi
+fi
+
+osm-mon-server &
+osm-mon-evaluator &
+osm-mon-collector
\ No newline at end of file
diff --git a/osm_mon/core/database.py b/osm_mon/core/database.py
index 77c5bc3..2a17f9b 100644
--- a/osm_mon/core/database.py
+++ b/osm_mon/core/database.py
@@ -54,7 +54,7 @@
     user = CharField()
     password = CharField()
     tenant_name = CharField()
-    config = TextField(default='{}')
+    config = TextField()
 
 
 class Alarm(BaseModel):
diff --git a/osm_mon/migrations/001_initial.py b/osm_mon/migrations/001_initial.py
index a8b7290..cb5fb41 100644
--- a/osm_mon/migrations/001_initial.py
+++ b/osm_mon/migrations/001_initial.py
@@ -63,7 +63,7 @@
         user = pw.CharField(max_length=255)
         password = pw.CharField(max_length=255)
         tenant_name = pw.CharField(max_length=255)
-        config = pw.TextField(constraints=[SQL("DEFAULT '{}'")])
+        config = pw.TextField()
 
         class Meta:
             table_name = "vimcredentials"
diff --git a/setup.py b/setup.py
index 2126358..15828bb 100644
--- a/setup.py
+++ b/setup.py
@@ -65,6 +65,7 @@
         "python-ceilometerclient==2.9.*",
         "peewee-migrate==1.1.*",
         "python-novaclient==12.0.*",
+        "pymysql==0.9.*",
         "osm-common",
         "n2vc"
     ],
