วิธีตรวจสอบและเปลี่ยนพอร์ต MySQL พร้อมแนวทางรักษาความปลอดภัย

1. เกี่ยวกับหมายเลขพอร์ตเริ่มต้นของ MySQL

MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) หนึ่งที่ทำหน้าที่สำคัญในการสนับสนุนการสื่อสารระหว่างเว็บแอปพลิเคชันและเซิร์ฟเวอร์ฐานข้อมูล พื้นฐานของการสื่อสารนี้คือ “หมายเลขพอร์ต” และใน MySQL จะใช้ พอร์ต 3306 เป็นค่าเริ่มต้น หมายเลขพอร์ตเป็นตัวกำหนดตำแหน่งที่ไคลเอนต์จะเชื่อมต่อไปยังเซิร์ฟเวอร์ฐานข้อมูล และเป็นตัวชี้วัดเพื่อแยกเส้นทางการสื่อสารจากแอปพลิเคชันหรือบริการอื่น ๆ

เหตุผลที่ใช้พอร์ต 3306 ของ MySQL

หมายเลขพอร์ต 3306 เป็นหมายเลขที่ใช้เป็นการตั้งค่าเริ่มต้นเมื่อทำการติดตั้งเซิร์ฟเวอร์ MySQL และโดยทั่วไปจะไม่เปลี่ยนแปลงหากไม่มีเหตุผลพิเศษ การผ่านพอร์ตนี้ทำให้ไคลเอนต์และเซิร์ฟเวอร์ MySQL สามารถส่งและรับข้อมูลได้ เนื่องจาก MySQL ทำงานบนโปรโตคอล TCP (Transmission Control Protocol) จึงแนะนำให้กำหนดหมายเลขพอร์ตอย่างชัดเจนเพื่อเหตุผลด้านความปลอดภัย

2. วิธีตรวจสอบหมายเลขพอร์ต

หากหมายเลขพอร์ตของ MySQL ถูกเปลี่ยนเป็นนอกเหนือจาก 3306 หรือคุณต้องการตรวจสอบการตั้งค่าเริ่มต้น สามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบได้อย่างง่ายดาย

วิธีตรวจสอบด้วยคำสั่ง SHOW VARIABLES

หลังจากเข้าสู่ระบบ MySQL แล้ว การรันคำสั่งต่อไปนี้จะทำให้คุณสามารถตรวจสอบหมายเลขพอร์ตที่กำลังใช้งานอยู่ได้
SHOW VARIABLES LIKE 'port';
เมื่อรันคำสั่งนี้ จะมีการแสดงค่าตัวเลขที่สอดคล้องกับตัวแปรชื่อ “port” ซึ่งทำให้คุณเห็นหมายเลขพอร์ตปัจจุบัน

วิธีตรวจสอบด้วยคำสั่ง status

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

3. ขั้นตอนการเปลี่ยนหมายเลขพอร์ต

หากต้องการเปลี่ยนหมายเลขพอร์ตเริ่มต้นของ MySQL ให้แก้ไขไฟล์การตั้งค่า MySQL ที่ชื่อ “my.cnf” หรือ “my.ini” ไฟล์เหล่านี้มักจะอยู่ในไดเรกทอรีที่ติดตั้ง MySQL

วิธีการแก้ไขไฟล์การตั้งค่า

  1. my.cnfหรือmy.iniเปิดด้วยโปรแกรมแก้ไขข้อความ
  2. [mysqld]ค้นหาส่วนนี้แล้วระบุหมายเลขพอร์ตตามตัวอย่างต่อไปนี้
   [mysqld]
   port = 3310
  1. หลังจากเปลี่ยนการตั้งค่า ให้รีสตาร์ทเซิร์ฟเวอร์ MySQL
หลังจากรีสตาร์ท เซิร์ฟเวอร์ MySQL จะเริ่มทำงานด้วยหมายเลขพอร์ตใหม่ ขั้นตอนนี้ทำให้คุณสามารถปรับแต่งพอร์ตเพื่อหลีกเลี่ยงการชนกับแอปพลิเคชันหรือบริการอื่นได้

การระบุพอร์ตในบรรทัดคำสั่ง

หากต้องการระบุพอร์ตเฉพาะเมื่อเชื่อมต่อจากไคลเอนต์ ให้ระบุหมายเลขพอร์ตดังนี้
mysql -h localhost -P 3310 -u root -p
ด้วยวิธีนี้ คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL โดยใช้หมายเลขพอร์ตที่ระบุได้

4. ข้อควรระวังเมื่อเปลี่ยนพอร์ต

เมื่อเปลี่ยนหมายเลขพอร์ตของ MySQL สิ่งสำคัญคือต้องระวังประเด็นต่อไปนี้

การตรวจสอบพอร์ตที่ขัดแย้ง

เมื่อเปลี่ยนหมายเลขพอร์ต จำเป็นต้องทำให้ไม่ขัดแย้งกับแอปพลิเคชันหรือบริการอื่น ตัวอย่างเช่น ในระบบ Linux สามารถใช้คำสั่ง netstat หรือ lsof เพื่อตรวจสอบหมายเลขพอร์ตที่กำลังใช้งานอยู่ได้

การพิจารณามาตรการความปลอดภัย

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

5. การเปลี่ยนพอร์ตและมาตรการความปลอดภัย

การเปลี่ยนหมายเลขพอร์ตของ MySQL จากค่าเริ่มต้น 3306 อาจช่วยเพิ่มความปลอดภัยได้ อย่างไรก็ตาม ไม่ควรพึ่งพาการเปลี่ยนหมายเลขพอร์ตเพียงอย่างเดียวเป็นมาตรการความปลอดภัย ควรนำวิธีการป้องกันที่แข็งแกร่งยิ่งขึ้นมาใช้

การเชื่อมต่อระยะไกลโดยใช้ SSH Tunnel

เมื่อเชื่อมต่อกับเซิร์ฟเวอร์ MySQL จากระยะไกลอย่างปลอดภัย แนะนำให้ใช้ SSH Tunnel การใช้ SSH Tunnel จะทำให้ผ่านเส้นทางการสื่อสารที่เข้ารหัส ช่วยป้องกันการดักฟังและการดัดแปลงข้อมูลได้ ตัวอย่างเช่น สามารถตั้งค่า SSH Tunnel ตามขั้นตอนต่อไปนี้
  1. ใช้ SSH client เชื่อมต่อไปยังเซิร์ฟเวอร์และตั้งค่า tunnel
  2. ระบุหมายเลขพอร์ตของ MySQL ที่พอร์ตปลายทางเพื่อสร้างการสื่อสารที่เข้ารหัสระหว่างเครื่องโลคัลและระยะไกล

6. สรุป

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