เพื่อกำหนดวิธีการเชื่อมต่อที่ใช้โดยการเชื่อมต่อ 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 เท่านั้น
-
ท่อ − เป็นการเชื่อมต่อไปป์ที่มีชื่อกับเซิร์ฟเวอร์ภายในหรือเซิร์ฟเวอร์ระยะไกล ใช้ได้เฉพาะในวินโดว์เท่านั้น
-
หน่วยความจำ - เป็นการเชื่อมต่อหน่วยความจำที่ใช้ร่วมกันกับเซิร์ฟเวอร์ภายใน ใช้ได้เฉพาะในวินโดว์เท่านั้น