URI definition for MySQL follows this standard:

Identifier fragments:

  • Namespace: mysql://{host}:{port}
    • Scheme = mysql
    • Authority = {host}:{port}
  • Unique name: {schema}.{table}

URI format:

  • mysql://{host}:{port}/{schema}.{table}

Parameters limitations:

  • host identifier must start with a lowercase letter and include only lowercase letters, numbers, dash and dot (regex: [a-z][a-z0-9-.]+)
  • port number must include only numbers
  • schema and table can have two format, following MySQL naming standards: quoted format and unquoted format
    • unquoted identifier must include only lowercases, uppercases, numbers and underscore (regex:[a-zA-Z0-9$_]+) and characters in the unicode range U+0080 to U+FFFF
    • quoted identifier needs to be quoted using backtick ``` and must include only characters included in the unicode range U+0001 to U+FFFF. If a bactick is included in the name, it needs to be escaped with another backtick.

Examples:

  • mysql://sifflet-dev-mysql.quha2ngc.eu-west-1.rds.amazonaws.com:3306/my_database.my_table
  • mysql://testing-mysql.cfbu.us-west-1.rds:3307/`MY DB`.테스트_데이터1