How do I connect my MySQL database?
Click "Add Database Connection" in your dashboard
Fill in your connection details:
- Connection Name: A friendly name (e.g., "Production DB")
- Host: Your database server address
- Port: Usually 3306 (MySQL default)
- Database Name: The specific database to connect to
- Username: Database user with read permissions
- Password: Database user password
Click "Add Connection" to test and save
Indiequery automatically tests your connection when you save it. You can also test connections manually anytime from your connections list.
What database permissions does Indiequery need?
Indiequery only needs SELECT permissions on the tables and views you want to query. We recommend creating a dedicated read-only user:
-- Create a read-only user for IndieQuery
CREATE USER 'indiequery_readonly'@'%' IDENTIFIED BY 'secure_password';
-- Grant connection and read access to your database
GRANT SELECT ON your_database.* TO 'indiequery_readonly'@'%';
-- Apply the changes
FLUSH PRIVILEGES;
For more granular control, you can grant access to specific tables:
GRANT SELECT ON your_database.table_name TO 'indiequery_readonly'@'%';
Network & Security
Do I need to configure my firewall?
Yes, you'll need to whitelist Indiequery's server IP address: 91.98.141.61
For cloud databases: - Add this IP to your database's allowed IP addresses or security groups - Ensure your database accepts connections on port 3306 (or your custom port)
For self-hosted databases: - Configure your firewall to allow connections from 91.98.141.61 - Update your my.cnf to accept external connections - Ensure MySQL is bound to the correct network interface
Is my data secure?
Yes. Indiequery uses multiple security layers:
- Encrypted storage: All connection credentials are encrypted in our database
- SSL/TLS required: All database connections use encrypted transport
- Read-only access: IndieQuery cannot modify your data
- Secure hosting: Our servers are hosted on secure infrastructure
- No data retention: Query results are automatically deleted after 7 days
We strongly recommend using SSL connections and read-only database users.
Should I use SSL connections?
Always use SSL for production databases. Indiequery forces SSL/TLS connections for security. Most cloud database providers support SSL by default.
If you're connecting to a local development database, SSL may not be necessary, but we still recommend it as best practice.
Troubleshooting
"Connection failed" - What should I check?
Network issues: 1. Verify our IP (91.98.141.61) is whitelisted in your firewall/security groups 2. Confirm your database accepts external connections 3. Check that the host and port are correct
Authentication issues: 1. Verify username and password are correct 2. Ensure the user has SELECT permissions on your database 3. Check that the user can connect from external IPs (the '%' wildcard or specific IP)
Database issues: 1. Confirm the database name exists and is spelled correctly 2. Verify MySQL is running and accepting connections 3. Check server logs for connection errors
"SSL connection required" error
This means your database requires SSL but your connection isn't configured for it. Check the "Require SSL connection" box in your connection settings.
If you're still having issues, your MySQL server may not be configured for SSL connections.
"Permission denied" or "Access denied" errors
Your database user lacks sufficient permissions. Ensure the user has: - Connection privilege from external hosts (check the host part of the user, e.g., 'user'@'%') - SELECT privilege on the database or specific tables you want to query
Run this to check current permissions:
SHOW GRANTS FOR 'indiequery_readonly'@'%';
Connection times out
Common causes: - Firewall blocking our IP address - Database server not accepting external connections - Incorrect host or port settings - Network connectivity issues
Indiequery has a connection timeout. If your database takes longer to respond, the connection will fail.
Can't see my tables in the schema browser
Check that your database user has SELECT permissions on the tables. Indiequery only shows tables and views that your user can access.
Run this query to see what tables your user can access:
SHOW TABLES FROM your_database;
Database Configuration
How do I configure MySQL for external connections?
Edit your my.cnf (or my.ini on Windows):
[mysqld]
bind-address = 0.0.0.0 # Allow external connections
port = 3306
require_secure_transport = ON # Force SSL (recommended)
Restart MySQL after making these changes:
sudo systemctl restart mysql
What MySQL versions are supported?
IndieQuery works with MySQL 5.7 and later, including MySQL 8.x. We regularly test against the latest stable releases.
MariaDB is also supported (version 10.2 and later).
Can I connect to multiple databases on the same server?
Yes. Each database requires a separate connection in Indiequery. Your Starter plan includes 3 connections, while Pro includes unlimited connections.
Limits & Performance
Why use fresh connections instead of connection pooling?
This ensures better isolation and security. Each query gets a clean connection state, preventing issues with transaction state or session variables affecting other queries.
Still Need Help?
If you're still having connection issues:
- Use Indiequery's built-in connection test feature
- Check your database server logs for error messages
- Verify network connectivity from external sources
- Contact our support team with your connection error details
Note: Never share your actual database credentials when asking for help. Our support team can help diagnose connection issues without needing your passwords.