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

จะบังคับให้ MySQL เชื่อมต่อโดย TCP แทนซ็อกเก็ต Unix ได้อย่างไร


โปรแกรมเช่น 'mysql' และ 'mysqldump' ที่ใช้ไลบรารีไคลเอนต์ MySQL รองรับการเชื่อมต่อ MySQL กับเซิร์ฟเวอร์ด้วยความช่วยเหลือของโปรโตคอลการขนส่งมากมาย เช่น TCP/IP, Unix ไฟล์ซ็อกเก็ต ชื่อไปป์ หน่วยความจำที่ใช้ร่วมกัน และอื่นๆ

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

ตัวอย่าง

การเชื่อมต่อกับ localhost จะส่งผลให้เกิดการเชื่อมต่อไฟล์ซ็อกเก็ตบนระบบ Unix และ Unix และการเชื่อมต่อ TCP/IP กับ 127.0.0.1 มิฉะนั้น หากต้องระบุโปรโตคอลเป็นพิเศษ ให้ดำเนินการโดยใช้ตัวเลือกคำสั่ง --protocol

ตารางด้านล่างแสดงค่าที่อนุญาตสำหรับ --protocol และยังบอกแพลตฟอร์มว่าแต่ละค่าเหล่านี้มีผลบังคับใช้ โปรดทราบว่าค่าไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

--ค่าโปรโตคอล ใช้โปรโตคอลการขนส่ง แพลตฟอร์มที่เกี่ยวข้อง
TCP TCP/IP ทั้งหมด
SOCKET ไฟล์ซ็อกเก็ต Unix ระบบที่เหมือน Unix และ Unix
PIPE ตั้งชื่อไปป์ Windows
หน่วยความจำ หน่วยความจำที่ใช้ร่วมกัน Windows

การขนส่ง TCP/IP รองรับการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ภายในหรือระยะไกลด้วย Socket-file, namedpipe และการขนส่งหน่วยความจำที่ใช้ร่วมกันรองรับการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ในเครื่องเท่านั้น เป็นที่น่าสังเกตว่าการขนส่งเนมไปป์อนุญาตให้มีการเชื่อมต่อระยะไกล แต่ความสามารถนี้ยังไม่ได้นำมาใช้ใน MySQL ณ ตอนนี้

โปรโตคอลการขนส่ง – ไม่ระบุ

หากไม่ได้ระบุโปรโตคอลการขนส่ง localhost จะถูกตีความว่าเป็น −

  • ในระบบที่คล้าย Unix และ Unix การเชื่อมต่อกับ localhost ส่งผลให้เกิดการเชื่อมต่อไฟล์ซ็อกเก็ต

  • ในระบบอื่น การเชื่อมต่อกับ localhost ส่งผลให้มีการเชื่อมต่อ TCP/IP ไปที่ 127.0.0.1

โปรโตคอลการขนส่ง – ระบุ

หากมีการระบุโปรโตคอลการขนส่ง โลคัลโฮสต์จะถูกตีความตามโปรโตคอลเฉพาะนั้น