Supported Versions & Platforms
| Platform | Minimum Version | Notes |
|---|---|---|
| MySQL | 5.7+ | Self-hosted or any cloud |
| Amazon RDS | 5.7+ | All instance classes |
| Amazon Aurora MySQL | 5.7+ | Cluster and serverless |
| PlanetScale | Any | Serverless MySQL |
| DigitalOcean | 8.0+ | Managed databases |
| Google Cloud SQL | 5.7+ | Public or private IP |
| Azure Database | 5.7+ | Single server or flexible |
| MariaDB | 10.3+ | MySQL-compatible fork |
Connection Settings
| Field | Description | Example |
|---|---|---|
| Connection Name | Friendly identifier | Production MySQL |
| Host | Hostname or IP address | db.example.com |
| Port | Database port | 3306 |
| Database | Database name | myapp_production |
| Username | Database user | anomalyarmor |
| Password | User password | •••••••• |
| SSL Mode | SSL configuration | require |
SSL Mode Options
| Mode | Description | When to Use |
|---|---|---|
disable | No SSL | Local development only |
require | SSL required, no verification | Recommended for most cloud providers |
verify-ca | Verify server certificate | High security requirements |
verify-full | Verify certificate and hostname | Maximum security |
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
- Amazon Aurora MySQL
- PlanetScale
- Self-Hosted
- Google Cloud SQL
- DigitalOcean
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
- Go to AWS Console → RDS → Your Instance → Security Groups
- Edit inbound rules
- Add rule:
- Type:
MySQL/Aurora - Port:
3306 - Source: AnomalyArmor IPs (see Settings → Security)
- Type:
- 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:Excluded Schemas
AnomalyArmor automatically excludes MySQL system schemas:mysqlinformation_schemaperformance_schemasys
Troubleshooting
Can't connect to MySQL server
Can't connect to MySQL server
Causes:
- Firewall blocking the connection
- Wrong hostname or port
- Database not running
- Verify AnomalyArmor IPs are allowlisted
- Check security group rules (for RDS/Aurora)
- Test connectivity:
nc -zv hostname 3306 - Verify MySQL is running:
systemctl status mysql
Access denied for user
Access denied for user
Causes:
- Wrong password
- User doesn’t exist for connecting host
- User lacks privileges
- Verify password (copy-paste to avoid typos)
- Confirm user exists:
SELECT User, Host FROM mysql.user; - Check user is created for
%or specific IP - Verify grants:
SHOW GRANTS FOR 'anomalyarmor'@'%';
SSL connection error
SSL connection error
Causes:
- Database requires SSL but connection uses
disable - SSL certificate issues
- Set SSL Mode to
require - For RDS/Aurora/PlanetScale: SSL is required
- For self-hosted: Enable SSL or allow non-SSL (not recommended)
Unknown database
Unknown database
Causes:
- Database name is incorrect
- Database names are case-sensitive on Linux
- Verify database name:
SHOW DATABASES; - Use exact case for database name
- Check you have access:
SHOW DATABASES;(shows only accessible DBs)
No tables found in discovery
No tables found in discovery
Causes:
- User can’t see tables in information_schema
- Schema filter excluding all schemas
- Test as the user:
SELECT * FROM INFORMATION_SCHEMA.TABLES LIMIT 5; - Check schema filter settings in AnomalyArmor
- Verify tables exist in the database
Next Steps
Run Discovery
Scan your MySQL database
Set Up Alerts
Get notified of schema changes
