mysql:
  image: mysql:5.7
  ports:
    - 3306
  environment:
    MYSQL_ROOT_PASSWORD: password
    MYSQL_USER: user
    MYSQL_PASSWORD: password
    MYSQL_DATABASE: sqlectron
  volumes:
    - ./spec/databases/mysql/schema:/docker-entrypoint-initdb.d

postgres:
  image: postgres:9.4.5
  ports:
    - 5432
  environment:
    POSTGRES_USER: user
    POSTGRES_PASSWORD: password
    POSTGRES_DB: sqlectron
  volumes:
    - ./spec/databases/postgresql/schema:/docker-entrypoint-initdb.d

test:
  image: node:0.12.7-onbuild
  command: npm test
  environment:
     DB_CLIENTS: mysql,postgresql
  volumes:
    - .:/usr/src/app
  links:
    - mysql:mysql
    - postgres:postgres

mysql:
  image: mysql:5.7
  ports:
    - 3306
  environment:
    MYSQL_ROOT_PASSWORD: password
    MYSQL_USER: user
    MYSQL_PASSWORD: password
    MYSQL_DATABASE: sqlectron
  volumes:
    - ./spec/databases/mysql/schema:/docker-entrypoint-initdb.d

postgres:
  image: postgres:9.4.5
  ports:
    - 5432
  environment:
    POSTGRES_USER: user
    POSTGRES_PASSWORD: password
    POSTGRES_DB: sqlectron
  volumes:
    - ./spec/databases/postgresql/schema:/docker-entrypoint-initdb.d

test:
  image: node:0.12.7-onbuild
  command: npm test
  environment:
    DB_CLIENTS: mysql,postgresql
    MYSQL_ENV_MYSQL_USER: root
  volumes:
    - .:/usr/src/app
  links:
    - mysql:mysql
    - postgres:postgres

Use the root user for tests on MySQL because already full access
Use the root user for tests on MySQL because already full access

The other user did not have permission to select the procedures database. So it is easier just use the root for the tests.