metricsign
Start free
Critical severityconnection

Power BI Refresh Error:
2003

What does this error mean?

The client cannot reach the MySQL server — typically a network, firewall, or wrong host/port issue.

Common causes

  • 1MySQL server is not running on the target host
  • 2Firewall or network security group blocks port 3306 between the client and server
  • 3Wrong hostname or IP address configured in the connection string
  • 4MySQL is bound to 127.0.0.1 only (bind-address in my.cnf) and remote connections are attempted

How to fix it

  1. 1Step 1: Verify MySQL is running on the server: `systemctl status mysql` or `ps aux | grep mysqld`.
  2. 2Step 2: Check MySQL is listening on the correct interface: `netstat -tlnp | grep 3306`.
  3. 3Step 3: Open the firewall port: `sudo ufw allow 3306/tcp` or add an inbound rule in Azure NSG / AWS Security Group.
  4. 4Step 4: If MySQL is bound to localhost only, set `bind-address = 0.0.0.0` in `my.cnf` under `[mysqld]` and restart.

Frequently asked questions

How do I test MySQL connectivity from an ADF self-hosted integration runtime?

On the integration runtime machine, run `telnet <mysql-host> 3306` or `Test-NetConnection -ComputerName <mysql-host> -Port 3306` in PowerShell to verify network reachability.

MySQL is running but I still get error 2003 — why?

MySQL may be bound to 127.0.0.1 only. Check `bind-address` in my.cnf and ensure it is set to `0.0.0.0` or the specific server IP to allow remote connections.

Can MetricSign alert me when this connectivity issue breaks a pipeline?

Yes — MetricSign triggers a pipeline_failed incident when ADF cannot reach the MySQL source, giving your team immediate visibility.

Official documentation: https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html

Other connection errors