Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

โปรโตคอลการขนส่งการเชื่อมต่อสำหรับ MySQL


โปรแกรมเช่น '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 รายใดจะได้รับอนุญาตให้ใช้การเชื่อมต่อไปป์ที่มีชื่อได้

  • การเชื่อมต่อหน่วยความจำที่ใช้ร่วมกันนั้นปลอดภัยโดยค่าเริ่มต้น