PortChecker Logo
PortChecker

พอร์ต 3306 — MySQL (TCP)

MySQL

พอร์ต 3306 คืออะไร?

ฐานข้อมูล MySQL

นี่คือพอร์ตที่ลงทะเบียน (1024–49151) มักกำหนดให้บริการอย่าง MySQL  ·  No formal RFC; MySQL Client/Server Protocol

เมื่อใดที่คุณต้องเปิดพอร์ต 3306?

Open only when an application on a different host must connect to MySQL. For single-server setups (app and database on the same machine), keep port 3306 closed externally and connect via a local socket or 127.0.0.1.

การใช้งานทั่วไปและซอฟต์แวร์

  • MySQL Server
  • MariaDB
  • Percona Server
  • WordPress
  • Drupal
  • phpMyAdmin (backend)
  • Laravel
  • Django

ความปลอดภัย

Bind MySQL to 127.0.0.1 by setting bind-address in my.cnf unless remote access is explicitly needed. Never expose port 3306 to the internet. For remote access, use an SSH tunnel: ssh -L 3306:localhost:3306 user@server. Grant privileges using least-privilege principles — avoid GRANT ALL and the root account for application connections.

พอร์ต 3306 ปลอดภัยหรือไม่?

พอร์ตที่เปิดเพิ่มพื้นผิวการโจมตี ความปลอดภัยขึ้นอยู่กับการตั้งค่า MySQL

ความเสี่ยงปานกลาง

รักษา MySQL ให้ทันสมัยด้วยแพตช์ความปลอดภัย กำหนดให้ต้องมีการยืนยันตัวตนที่แข็งแกร่งและจำกัดการเข้าถึงเฉพาะที่อยู่ IP ที่จำเป็นขั้นต่ำ

ตรวจพอร์ต 3306 ตอนนี้

ทดสอบการเชื่อมต่อพอร์ต 3306 กับโฮสต์ใดก็ได้

1-65535

เปิดพอร์ต 3306

หากต้องการอนุญาตการเชื่อมต่อขาเข้าไปยังพอร์ต 3306 (MySQL) ให้กำหนดค่าไฟร์วอลล์ของคุณและเพิ่มกฎการส่งต่อพอร์ตบนเราเตอร์ไปยังที่อยู่ IP ท้องถิ่นของอุปกรณ์คุณ

ไฟร์วอลล์ Windows

เปิด Windows Defender Firewall → การตั้งค่าขั้นสูง → กฎขาเข้า → กฎใหม่ → พอร์ต → TCP → พอร์ตท้องถิ่นที่ระบุ: 3306 → อนุญาตการเชื่อมต่อ → ตั้งชื่อและบันทึกกฎ

netsh advfirewall firewall add rule name="Open Port 3306" dir=in action=allow protocol=tcp localport=3306
Linux (UFW / iptables)sudo ufw allow 3306/tcpsudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
เราเตอร์

เข้าสู่ระบบเราเตอร์ (192.168.1.1 หรือ 192.168.0.1) → การส่งต่อพอร์ต → เพิ่มกฎใหม่: โปรโตคอล TCP, พอร์ตภายนอก 3306, IP ภายใน: IP ท้องถิ่นของอุปกรณ์, พอร์ตภายใน 3306 → บันทึก

วิธีปิดพอร์ต 3306

หากไม่ต้องใช้ MySQL ให้บล็อกพอร์ตนี้ในไฟร์วอลล์หรือเราเตอร์

ไฟร์วอลล์ Windows

หากต้องการบล็อกพอร์ต 3306 บน Windows ให้รันคำสั่งต่อไปนี้ใน PowerShell หรือ Command Prompt (ในฐานะผู้ดูแลระบบ):

netsh advfirewall firewall add rule name="Block Port 3306" dir=in action=block protocol=tcp localport=3306
Linux (UFW / iptables)รันคำสั่ง: sudo ufw deny 3306/tcpsudo iptables -A INPUT -p tcp --dport 3306 -j DROP
เราเตอร์

ลบหรือปิดการทำงานการทำ port forwarding สำหรับพอร์ต 3306

คำถามที่พบบ่อย

พอร์ต 3306 ใช้ทำอะไร?▾

พอร์ต 3306 คือพอร์ต TCP มาตรฐานสำหรับ MySQL ใช้โดยเซิร์ฟเวอร์และแอปพลิเคชันที่ต้องรับการเชื่อมต่อขาเข้าสำหรับบริการนี้ ว่าจำเป็นต้องเปิดไว้หรือไม่ขึ้นอยู่กับว่าคุณกำลังรันเซิร์ฟเวอร์ MySQL อยู่หรือเปล่า — ถ้าไม่ควรปิดไว้

การเปิดพอร์ต 3306 ปลอดภัยหรือไม่?▾

พอร์ต 3306 ที่เปิดอยู่จะขยายพื้นผิวการโจมตี หากไม่ได้ใช้งาน MySQL อยู่อย่างแข็งขัน ให้ปิดพอร์ตนี้ในไฟร์วอลล์และลบกฎการส่งต่อพอร์ต หากจำเป็นต้องให้ MySQL เข้าถึงได้ ให้จำกัดการเข้าถึงเฉพาะที่อยู่ IP ที่รู้จักและอัปเดตซอฟต์แวร์อยู่เสมอ