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

ฉันจะกำหนดวิธีการเชื่อมต่อที่ใช้โดยไคลเอนต์ MySQL ได้อย่างไร


เพื่อกำหนดวิธีการเชื่อมต่อที่ใช้โดยการเชื่อมต่อ MySQL คุณสามารถใช้คำสั่งด้านล่าง -

netstat −ln | grep 'mysql'

บน Unix โปรแกรม MySQL จะจัดการกับชื่อโฮสต์ 'localhost' ในลักษณะพิเศษ ดังนั้นจึงมีพฤติกรรมแตกต่างจากที่คาดไว้

ประเภทของการเชื่อมต่อ

หากต้องการทราบประเภทของการเชื่อมต่อจากภายใน mysql CLI คุณสามารถใช้คำสั่งด้านล่าง -

mysql> \s

เอาท์พุต -

Connection: 127.0.0.1 via TCP/IP
(or)
Connection: Localhost via UNIX socket

การเชื่อมต่อ TCP/IP กับเซิร์ฟเวอร์ภายในเครื่อง

เพื่อให้แน่ใจว่าไคลเอ็นต์ทำการเชื่อมต่อ TCP/IP กับเซิร์ฟเวอร์ภายใน คุณสามารถใช้ --host หรือ -h ซึ่งจะระบุค่าชื่อโฮสต์เป็น 127.0.0.1 หรือที่อยู่ IP หรือชื่อของเซิร์ฟเวอร์ภายใน โปรโตคอลการเชื่อมต่อสามารถระบุได้อย่างชัดเจนสำหรับ localhost เช่นกัน โดยใช้ตัวเลือก --protocol=TCP เรามาดูตัวอย่างกัน −

shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP

ตัวเลือก --protocol={TCP|SOCKET|PIPE|MEMORY} ระบุอย่างชัดเจนว่าต้องใช้โปรโตคอลบางอย่างเพื่อเชื่อมต่อกับเซิร์ฟเวอร์

การเชื่อมต่อบน Unix กับ localhost

การเชื่อมต่อบน Unix กับ localhost ทำได้โดยใช้ไฟล์ซ็อกเก็ต Unix ตามค่าเริ่มต้น ให้เราดูวิธีการทำโดยใช้คำสั่งด้านล่าง −

shell> mysql --host=localhost

ในการบังคับให้ใช้การเชื่อมต่อ TCP/IP สามารถระบุตัวเลือก --protocol ได้ มาดูกันว่าจะทำได้อย่างไร -

shell> mysql --host=localhost --protocol=TCP

ประเภทของโปรโตคอลบางประเภทได้แสดงไว้ด้านล่าง -

  • TCP - การเชื่อมต่อ TCP/IP เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ภายในหรือระยะไกล สามารถใช้ได้กับทุกแพลตฟอร์ม

  • ซ็อกเก็ต - เป็นการเชื่อมต่อไฟล์ซ็อกเก็ต Unix กับเซิร์ฟเวอร์ภายใน ใช้ได้บน Unix เท่านั้น

  • ท่อ − เป็นการเชื่อมต่อไปป์ที่มีชื่อกับเซิร์ฟเวอร์ภายในหรือเซิร์ฟเวอร์ระยะไกล ใช้ได้เฉพาะในวินโดว์เท่านั้น

  • หน่วยความจำ - เป็นการเชื่อมต่อหน่วยความจำที่ใช้ร่วมกันกับเซิร์ฟเวอร์ภายใน ใช้ได้เฉพาะในวินโดว์เท่านั้น