Skip to main content
Connect AnomalyArmor to any MySQL-compatible database. This guide covers self-hosted MySQL as well as managed services like Amazon RDS, Aurora MySQL, PlanetScale, and DigitalOcean. MySQL Connection Architecture

Supported Versions & Platforms

Connection Settings

SSL Mode Options

Never use disable for production databases. Most cloud providers (RDS, Aurora, PlanetScale) require SSL.

Creating a Read-Only User

Create a dedicated user with minimal permissions:

For Multiple Databases

If you want to monitor multiple databases:

Verifying Permissions

Test that the user can access metadata:

Provider-Specific Instructions

Amazon RDS MySQL

Connection Details:
  • Host: Your RDS endpoint (e.g., mydb.abc123.us-east-1.rds.amazonaws.com)
  • Port: 3306 (default)
  • SSL Mode: require
Security Group Configuration:
  1. Go to AWS Console → RDS → Your Instance → Security Groups
  2. Edit inbound rules
  3. Add rule:
    • Type: MySQL/Aurora
    • Port: 3306
    • Source: AnomalyArmor IPs (see Settings → Security)
AWS Security Group RulesParameter Group (if using verify-ca or verify-full):
  • Ensure require_secure_transport = ON
  • Download RDS CA certificate bundle
RDS instances in private subnets require NAT Gateway or VPC peering for AnomalyArmor access. Contact us for Enterprise VPC peering options.

What We Query

AnomalyArmor runs these types of queries:
Impact: Minimal. These are lightweight metadata queries.

Excluded Schemas

AnomalyArmor automatically excludes MySQL system schemas:
  • mysql
  • information_schema
  • performance_schema
  • sys
Only user-created databases and tables are monitored.

Troubleshooting

Causes:
  • Firewall blocking the connection
  • Wrong hostname or port
  • Database not running
Solutions:
  1. Verify AnomalyArmor IPs are allowlisted
  2. Check security group rules (for RDS/Aurora)
  3. Test connectivity: nc -zv hostname 3306
  4. Verify MySQL is running: systemctl status mysql
Causes:
  • Wrong password
  • User doesn’t exist for connecting host
  • User lacks privileges
Solutions:
  1. Verify password (copy-paste to avoid typos)
  2. Confirm user exists: SELECT User, Host FROM mysql.user;
  3. Check user is created for % or specific IP
  4. Verify grants: SHOW GRANTS FOR 'anomalyarmor'@'%';
Causes:
  • Database requires SSL but connection uses disable
  • SSL certificate issues
Solutions:
  1. Set SSL Mode to require
  2. For RDS/Aurora/PlanetScale: SSL is required
  3. For self-hosted: Enable SSL or allow non-SSL (not recommended)
Causes:
  • Database name is incorrect
  • Database names are case-sensitive on Linux
Solutions:
  1. Verify database name: SHOW DATABASES;
  2. Use exact case for database name
  3. Check you have access: SHOW DATABASES; (shows only accessible DBs)
Causes:
  • User can’t see tables in information_schema
  • Schema filter excluding all schemas
Solutions:
  1. Test as the user: SELECT * FROM INFORMATION_SCHEMA.TABLES LIMIT 5;
  2. Check schema filter settings in AnomalyArmor
  3. Verify tables exist in the database

Common Questions

Which MySQL versions and managed services does AnomalyArmor support?

MySQL 5.7 and 8.0+, Amazon RDS for MySQL, Aurora MySQL, Google Cloud SQL for MySQL, Azure Database for MySQL, and PlanetScale. MariaDB is MySQL-compatible for most monitoring use cases but not officially supported - test before relying on it in production.

Does MySQL 5.7 have any monitoring limitations compared to 8.0?

Minor. MySQL 5.7 doesn’t expose some column-statistics views that 8.0 has, so a few metric baselines are coarser. Schema drift and freshness work identically on both versions - no migration urgency for observability alone.

Can AnomalyArmor monitor PlanetScale branches?

Yes. Each connection points at one PlanetScale branch. Monitor main for production; add separate data sources per branch if you want pre-merge schema checks. PlanetScale’s schema migration flow surfaces in AnomalyArmor as schema drift on the target branch.

How should I configure SSL for RDS MySQL?

Set SSL Mode to require (RDS MySQL’s default). Upload Amazon’s RDS CA bundle in connection settings if your compliance program requires verify-ca or verify-full.

Does AnomalyArmor read MySQL binlogs?

No. AnomalyArmor queries information_schema and runs bounded aggregates on a schedule. Binlog access is not required - if you’ve granted REPLICATION CLIENT to the AnomalyArmor user, you can safely revoke it.

Next Steps

Run Discovery

Scan your MySQL database

Set Up Alerts

Get notified of schema changes