Document toolboxDocument toolbox

Synapse Database Setup and Configuration

Installation of MySQL

We are running MySQL 5.5.12, either as a local MySQL installation (dev, test), or using Amazon's RDS service (staging and production). 

New Stack Database Configuration

These steps assume you are creating a new database where stack = one of dev, bamboo (test), staging, prod, and instance = some unique name.  For developers, we recommend using stack=dev and instance = your unix login

  • Create a new db user <stack><instance>User
  • Generate a unique password for that user, important to not share passwords to decrease chances of accidently stomping on the wrong data.  On windows, I use KeePass to generate a 40-bit hex key.
  • Generate a unique encryption key for the user.  Here use a 128-bit hex key.  Update /gluster/work/platform/PasswordsAndCredentials/StackCredentials/IAMUsers/credentials.csv on sodo with appropriate security info.
  • Create the schema <stack><instance>
  • For staging / prod systems, grant the user ability to SELECT and INSERT on the common idGeneratorDB schema
  • Grant the user all permissions except GRANT OPTION, CREATE ROUTINE, ALTER ROUTINE, and TRIGGER on their own schema
  • Important: do not hand out this use to multiple instances

The repository service will create all needed db options on startup.  If you start the repo service, you should shortly see a new set of tables in the db.  If you don't, something has gone wrong in the bootstrapping process and you should look at the service logs to figure out the problem (likely a misconfiguration of the service.)