diff --git a/Ccs/database/config_db.py b/Ccs/database/config_db.py
index e14a663e85de83a3588b9726ba5dff251134fc00..798803bd426900d44d18873910470fb1811783d1 100644
--- a/Ccs/database/config_db.py
+++ b/Ccs/database/config_db.py
@@ -4,6 +4,7 @@ cfg = confignator.get_config()
 
 user = cfg.get('database', 'user')
 pw = cfg.get('database', 'password')
+host = cfg.get('database', 'host')
 
 # --------------- SMILE ---------------
 # idb_schema_name = 'mib_smile_sxi'
@@ -19,4 +20,4 @@ telemetry_pool_table = 'tm_pool'
 telemetry_table = 'tm'
 
 # --------------- database connection ---------------
-mysql_connection_string = 'mysql://{}:{}@localhost'.format(user, pw)
+mysql_connection_string = 'mysql://{}:{}@{}'.format(user, pw, host)
diff --git a/Ccs/database/tm_db.py b/Ccs/database/tm_db.py
index 126f8527a1935d98b3a4442ca21133bcc9653cba..8d14fe4c0bf9937637c2dca11c9b7d05cba8d1a4 100644
--- a/Ccs/database/tm_db.py
+++ b/Ccs/database/tm_db.py
@@ -7,7 +7,7 @@ import sys
 
 from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy import (
-    Column, Integer, Boolean, Unicode, Index, UniqueConstraint, ForeignKey, create_engine)
+    Column, Integer, Boolean, Unicode, Index, UniqueConstraint, ForeignKey, create_engine, engine)
 from sqlalchemy.dialects.mysql import VARBINARY
 from sqlalchemy.orm import sessionmaker, relationship, scoped_session
 # from sqlalchemy.orm.session import Session
@@ -229,31 +229,36 @@ class FEEDataTelemetryPool(FEEDATA_BASE):  # type: ignore
 #     # return session_factory()
 
 
+def gen_mysql_conn_str(user=config_db.user, pw=config_db.pw, host=config_db.host, schema=''):
+    return engine.url.URL.create(drivername='mysql', username=user, password=pw, host=host, database=schema)
+
+#SQLSOCKET=''
+
+
 def create_storage_db(protocol='PUS', force=False):
     if protocol.upper() not in ['PUS', 'RMAP', 'FEEDATA', 'ALL']:
         print('Unsupported protocol {}. Use either "PUS", "RMAP", "FEEDATA" or "ALL".'.format(protocol))
         return
     elif protocol.upper() == 'ALL':
         print('Creating schema "{}" for {} data storage...'.format(config_db.storage_schema_name, protocol.upper()))
-        engine = create_engine(config_db.mysql_connection_string, echo="-v" in sys.argv)
+        _engine = create_engine(gen_mysql_conn_str(), echo="-v" in sys.argv)
         if force:
-            engine.execute('DROP SCHEMA IF EXISTS {}'.format(config_db.storage_schema_name))
-        engine.execute('CREATE SCHEMA IF NOT EXISTS {}'.format(config_db.storage_schema_name))
-        engine.dispose()
-        engine = create_engine(config_db.mysql_connection_string + '/' + config_db.storage_schema_name, echo="-v" in sys.argv)
+            _engine.execute('DROP SCHEMA IF EXISTS {}'.format(config_db.storage_schema_name))
+        _engine.execute('CREATE SCHEMA IF NOT EXISTS {}'.format(config_db.storage_schema_name))
+        _engine.dispose()
+        _engine = create_engine(gen_mysql_conn_str(schema=config_db.storage_schema_name), echo="-v" in sys.argv)
         for protocol in protocols:
-            protocols[protocol][1].metadata.create_all(engine)
+            protocols[protocol][1].metadata.create_all(_engine)
         print('...DONE')
     else:
         print('Creating schema "{}" for {} data storage...'.format(config_db.storage_schema_name, protocol.upper()))
-        engine = create_engine(config_db.mysql_connection_string, echo="-v" in sys.argv)
+        _engine = create_engine(gen_mysql_conn_str(), echo="-v" in sys.argv)
         if force:
-            engine.execute('DROP SCHEMA IF EXISTS {}'.format(config_db.storage_schema_name))
-        engine.execute('CREATE SCHEMA IF NOT EXISTS {}'.format(config_db.storage_schema_name))
-        engine.dispose()
-        engine = create_engine(config_db.mysql_connection_string + '/' + config_db.storage_schema_name,
-                               echo="-v" in sys.argv)
-        protocols[protocol.upper()][1].metadata.create_all(engine)
+            _engine.execute('DROP SCHEMA IF EXISTS {}'.format(config_db.storage_schema_name))
+        _engine.execute('CREATE SCHEMA IF NOT EXISTS {}'.format(config_db.storage_schema_name))
+        _engine.dispose()
+        _engine = create_engine(gen_mysql_conn_str(schema=config_db.storage_schema_name), echo="-v" in sys.argv)
+        protocols[protocol.upper()][1].metadata.create_all(_engine)
         print('...DONE')
 
 
@@ -273,8 +278,8 @@ def scoped_session_maker(db_schema, idb_version=None):
     else:
         print('DB schema must be either "idb" or "storage"')
         return
-    engine = create_engine(config_db.mysql_connection_string + '/' + schema, echo="-v" in sys.argv, pool_size=15)
-    session_factory = sessionmaker(bind=engine)
+    _engine = create_engine(gen_mysql_conn_str(schema=schema), echo="-v" in sys.argv, pool_size=15)
+    session_factory = sessionmaker(bind=_engine)
     scoped_session_factory = scoped_session(session_factory)
     return scoped_session_factory