Skip to content

One Liner

This guide will walk you through the process of deploying Epsio.

Before you begin

Before proceeding with the deployment guide, ensure that you have the following:

  • A Linux/Macbook machine to run epsio on with:
    • Network access to your MySQL instance.
    • docker, docker compose plugin and zip installed on it
  • A MySQL Database with version 5.7+.

1. Launch Epsio in your VM

After you sign up, a wizard will appear and walk you through the stages of deployment.

Copy the Epsio install command:

Launch Epsio

Run the command in your VM:

Run command

Wait until Epsio is successfully deployed, and then proceed to the next step.


2. Connect Epsio to your database

Open a connection to your database and follow the steps below.

Create a database for Epsio's metadata:

CREATE DATABASE epsio;

Create a database user for Epsio's exclusive use:

CREATE USER epsio_user IDENTIFIED BY '<password>';

Grant new user permissions to the Epsio database

GRANT ALL PRIVILEGES ON epsio.* TO epsio_user;

Grant replication permissions to the Epsio user

GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO epsio_user;

Grant permission to create result tables and populate existing data

GRANT SELECT, CREATE, SHOW VIEW, CREATE VIEW, ALTER, INSERT, LOCK TABLES, DELETE, DROP ON *.* TO epsio_user;

If you wish to limit access to only specific tables / databases, replace the *.* pattern with the relevant database names and table names you intend on using.

Enter the credentials of the epsio user you've just created in the wizard and click connect:
You will also need to provide the hostname (or IP address), port and a default database name (the default database that Epsio will create result tables in or query from).

Connect to database

After connection, Epsio will check that your database is configured correctly and will create the functions under the epsio database.
Continue to the next step to configure replication.


3. Configure Replication

3.1 Check if replication is configured correctly

Run the following command to check if your instance is already configured correctly:

-- Required configuration: ON
SHOW VARIABLES LIKE 'log_bin';

-- Required configuration: ROW
SHOW VARIABLES LIKE 'binlog_format';

-- Required configuration: ON
SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
If all the above are configured correctly, skip to finish the deployment.

3.2 Enable replication

Enable binlog:

Edit your mysql conf file and add the following configurations:

server-id = 223344
log_bin = mysql-bin
binlog_format = ROW
binlog_row_image = FULL
binlog_expire_logs_seconds  = 864000
For the above changes to take effect, you must restart your mysql server.

Enable log_bin_trust_function_creators: Run the following command;

SET PERSIST log_bin_trust_function_creators = 1;

Validate configuration: Verify that all the new configurations are enabled by running the following commands:

-- Required configuration: ON
SHOW VARIABLES LIKE 'log_bin';

-- Required configuration: ROW
SHOW VARIABLES LIKE 'binlog_format';

-- Required configuration: ON
SHOW VARIABLES LIKE 'log_bin_trust_function_creators';

3.3 Finish the deployment

Once finished, click on the "Validate Configuration" and Epsio will verify that replication is set up correctly.

Parameter Group in Sync

Congratulations! You've successfully enabled replication in your database.


Once Epsio successfully connects to your database, you'll be redirected to the Epsio dashboard.

You are set to go and can create your first view. Visit the create_view for further details.