Datatape
Sources

MySQL

Connect a MySQL database as a source for your Datatape tools.

MySQL source

Connect any MySQL-compatible database — including Amazon RDS, Aurora MySQL, PlanetScale, and Cloud SQL for MySQL.

MySQL source connection form

Connection fields

FieldRequiredDefaultDescription
HostYesHostname or IP address of your MySQL server
PortYes3306MySQL listener port
DatabaseYesName of the database (schema) to connect to
UsernameYesDatabase user
PasswordYesDatabase user password
SSLNoEnabledWhether to use an encrypted connection
Host:     mysql.example.com
Port:     3306
Database: app_production
Username: datatape_ro
Password: ••••••••

Create a read-only user

Datatape enforces read-only SQL at the platform level, but you should still connect with a restricted user.

-- Create a dedicated user
CREATE USER 'datatape_ro'@'%' IDENTIFIED BY 'your-secure-password';

-- Grant read access to a specific database
GRANT SELECT ON app_production.* TO 'datatape_ro'@'%';

-- Apply privileges
FLUSH PRIVILEGES;

Avoid granting ALL PRIVILEGES. A SELECT-only grant ensures the user cannot modify data even if platform-level protections were bypassed.

Character set considerations

MySQL defaults vary by version (latin1 in 5.x, utf8mb4 in 8.x). If your tool results contain garbled text, confirm that the database and Datatape are both using utf8mb4.

SSL configuration

Most managed MySQL providers enable SSL by default. Datatape connects with SSL enabled unless you explicitly disable it.

SettingBehavior
SSL on (default)Encrypts the connection using the server's certificate
SSL offUnencrypted connection. Only use for local development.

PlanetScale requires SSL and does not support disabling it. No extra configuration is needed.

MySQL vs PostgreSQL differences

If you are coming from PostgreSQL, note these MySQL-specific behaviors:

AspectMySQLPostgreSQL
Default port33065432
Schema modelDatabase = schema (single level)Database > schema (two levels)
Case sensitivityTable names are case-insensitive on macOS/WindowsAlways case-sensitive
LIMIT syntaxLIMIT n (no OFFSET keyword required)Same
Boolean typeTINYINT(1)Native BOOLEAN

Common connection issues

SymptomLikely causeFix
Access denied for userWrong credentials or host restrictionVerify user, password, and allowed hosts ('%' vs 'localhost')
Can't connect to MySQL serverFirewall or security groupAllow Datatape IPs in your security group
Unknown databaseTypo in database nameRun SHOW DATABASES; to list available databases
SSL connection errorSSL required but not configuredEnable SSL in connection settings

Testing the connection

Click Test connection before saving. Datatape runs a lightweight SELECT 1 to verify connectivity.

Source row showing a green 'Connected' badge after a successful test

Security notes

  • Credentials are encrypted at rest with Fernet (AES-128-CBC + HMAC-SHA256)
  • Credentials are never returned in API responses or exposed to AI agents
  • Each source is scoped to your organization

On this page