Skip to content

Port3306— MySQL

MySQL classic protocol defaults to TCP 3306. A local Unix-socket connection may bypass TCP entirely, so a port check alone cannot establish whether MySQL is running.

Registry assignments, software defaults and local listeners are different things. A port number alone does not identify or secure a service.

Configuration and troubleshooting

Check port, bind_address and the client transport. Update connection strings and container mappings after a change; access-denied errors need account checks, not more open ports.

Important limitations

Do not confuse 3306 with MySQL X Protocol on 33060. Limit permitted source addresses and configure authentication and TLS for the deployment.

Read-only checks: run on the server host

Choose the commands for your OS. Check TCP and UDP separately. No result is not a lasting availability guarantee; inspect host and container separately.

Linux

sudo ss -ltnp 'sport = :3306'

macOS

sudo lsof -nP -iTCP:3306 -sTCP:LISTEN

Windows PowerShell

Get-NetTCPConnection -LocalPort 3306 -State Listen

Sources and review

Sources checked on:

This review covers the explanations and sources on this page, not your device or every community software entry below.

Software Using This Port (2 software)

Community software entries: links are references, not individual verification.

MySQL

Default port for MySQL database server

MariaDB

A relational database compatible with the MySQL protocol; check the instance listener configuration.

Usage Suggestions

  • Before using port 3306, please confirm it is not occupied by other services
  • If you encounter port conflicts, consider using other ports or stopping the occupying service

Frequently asked questions

What is port 3306 used for?

Port 3306 sits in the Database category. This page lists the registered purpose and the software commonly associated with it; to see what is actually listening on a specific machine, check the process with ss/netstat.

Is port 3306 TCP or UDP?

The registered protocol on this page is TCP. The same number behaves independently on each protocol: TCP may be listening while UDP is idle, so check them separately.

How do I check if port 3306 is in use?

On Linux: sudo ss -tlnp 'sport = :3306' for an exact port match. On macOS: sudo lsof -nP -iTCP:3306 -sTCP:LISTEN. On Windows PowerShell: Get-NetTCPConnection -LocalPort 3306 -State Listen. A listener counts as confirmed only when you can see the bind address and process name; without root/admin you will not see other users' processes.

Is port 3306 secure? Should I open it in my firewall?

A port number has no inherent security — it depends on whether the listening service is correctly configured and whether it needs exposure at all. Keep loopback/internal-only services firewalled; where public access is required, pair it with source restrictions, VPN or authentication. The caution section on this page lists port-specific risks.

Quick Info

Port
3306
Protocol
TCP
Categories
Database
Usage Status
2 software in use

Need Help?

If you find incorrect information or need to add more, please submit correction information.

Submit Correction