โปรแกรมเช่น 'mysql' และ 'mysqldump' ที่ใช้ไลบรารีไคลเอนต์ MySQL รองรับการเชื่อมต่อ MySQL กับเซิร์ฟเวอร์ด้วยความช่วยเหลือของโปรโตคอลการขนส่งมากมาย เช่น TCP/IP, Unix ไฟล์ซ็อกเก็ต ชื่อไปป์ หน่วยความจำที่ใช้ร่วมกัน และอื่นๆ ให้เราเข้าใจโปรโตคอลการขนส่งการเชื่อมต่อที่ใช้กับ MySQL -
ตารางด้านล่างแสดงค่าที่อนุญาตสำหรับ --protocol และยังบอกแพลตฟอร์มว่าแต่ละค่าเหล่านี้มีผลบังคับใช้ โปรดทราบว่าค่าไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
--ค่าโปรโตคอล | โปรโตคอลการขนส่งที่ใช้ | แพลตฟอร์มที่ใช้ได้ |
---|---|---|
TCP | TCP/IP | ทั้งหมด |
ซ็อกเก็ต | ไฟล์ซ็อกเก็ต Unix | ระบบคล้าย Unix และ Unix |
ท่อ | ชื่อไปป์ | วินโดว์ |
หน่วยความจำ | หน่วยความจำที่ใช้ร่วมกัน | วินโดว์ |
TCP/IP
การขนส่ง TCP/IP รองรับการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ในเครื่องหรือระยะไกลด้วย
การขนย้ายท่อแบบมีชื่อ
การขนส่งเนมไปป์อนุญาตให้มีการเชื่อมต่อระยะไกล แต่ความสามารถนี้ยังไม่ได้นำมาใช้ใน MySQL ณ ตอนนี้ รองรับเฉพาะการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ในเครื่อง ไม่จำเป็นต้องเข้ารหัส TLS/SSL
Socket-file
การขนส่งไฟล์ซ็อกเก็ตรองรับเฉพาะการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ในเครื่อง สามารถเข้ารหัส TLS/SSL ได้
แชร์หน่วยความจำ
มันส่งรองรับการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ในเครื่องเท่านั้น ไม่จำเป็นต้องเข้ารหัส TLS/SSL
จะทำให้การเชื่อมต่อปลอดภัยได้อย่างไร
การเชื่อมต่อจะปลอดภัยตามค่าเริ่มต้น หากสร้างผ่านโปรโตคอลการขนส่งซึ่งมีความปลอดภัยตามค่าเริ่มต้น มิฉะนั้น สำหรับโปรโตคอลที่เข้ารหัส TLS/SSL การเชื่อมต่อสามารถทำได้อย่างปลอดภัยโดยใช้การเข้ารหัส -
-
การเชื่อมต่อ TCP/IP นั้นไม่ปลอดภัยตามค่าเริ่มต้น แต่สามารถเข้ารหัสเพื่อให้ปลอดภัยได้
-
การเชื่อมต่อไฟล์ซ็อกเก็ตนั้นปลอดภัยโดยค่าเริ่มต้น สามารถเข้ารหัสได้ แต่ไม่ได้ทำให้มีความปลอดภัยมากขึ้นและเพิ่มภาระของ CPU เท่านั้น
-
การเชื่อมต่อแบบเนมไปป์จะไม่ปลอดภัยตามค่าเริ่มต้น และไม่จำเป็นต้องเข้ารหัสเพื่อให้ปลอดภัย แต่มีการใช้ตัวแปรระบบ named_pipe_full_access_group ที่ช่วยควบคุมว่าผู้ใช้ MySQL รายใดจะได้รับอนุญาตให้ใช้การเชื่อมต่อไปป์ที่มีชื่อได้
-
การเชื่อมต่อหน่วยความจำที่ใช้ร่วมกันนั้นปลอดภัยโดยค่าเริ่มต้น