ให้เราเข้าใจว่า MySQL สามารถเชื่อมต่อกับฐานข้อมูลโดยใช้บรรทัดคำสั่งได้อย่างไร สิ่งนี้ทำสำหรับลูกค้าเช่น mysql หรือ mysqldump
คำสั่งด้านล่างเรียกใช้ mysql โดยไม่ระบุพารามิเตอร์การเชื่อมต่อที่ชัดเจน -
mysql
เนื่องจากไม่มีตัวเลือกพารามิเตอร์ ค่าเริ่มต้นจะถูกใช้ -
-
ชื่อโฮสต์เริ่มต้นคือ localhost
-
ชื่อผู้ใช้เริ่มต้นคือ ODBC บน Windows
-
ไม่มีการส่งรหัสผ่านเนื่องจากไม่ได้กล่าวถึง --password หรือ -p
สำหรับ mysql อาร์กิวเมนต์แรกที่ไม่ใช่ตัวเลือกถือเป็นชื่อของฐานข้อมูลเริ่มต้น เนื่องจากไม่มีอาร์กิวเมนต์ดังกล่าว mysql จึงไม่เลือกฐานข้อมูลเริ่มต้น
ในการระบุชื่อโฮสต์ ชื่อผู้ใช้ และรหัสผ่านโดยเฉพาะ ให้ระบุตัวเลือกที่เหมาะสมบนบรรทัดคำสั่ง เมื่อต้องการเลือกฐานข้อมูลเริ่มต้น ให้เพิ่มอาร์กิวเมนต์ชื่อฐานข้อมูล ให้เราดูสิ่งนี้ด้วยคำสั่ง −
mysql --host=localhost --user=myname --password=password mydb mysql -h localhost -u myname -ppassword mydb
โปรแกรมไคลเอนต์กำหนดประเภทของการเชื่อมต่อที่ต้องทำ -
-
หากไม่ได้ระบุโฮสต์หรือเป็นโฮสต์ท้องถิ่น การเชื่อมต่อกับโฮสต์ในพื้นที่จะเกิดขึ้น
-
มิฉะนั้น การเชื่อมต่อจะใช้ TCP/IP
เพื่อให้แน่ใจว่าไคลเอ็นต์ทำการเชื่อมต่อ TCP/IP กับเซิร์ฟเวอร์ภายใน จำเป็นต้องระบุ '—host' หรือ '-h' โดยมีค่าชื่อโฮสต์ 127.0.0.1 (แทนที่จะเป็น localhost) แทนที่จะระบุที่อยู่ IP หรือชื่อของเซิร์ฟเวอร์ภายในเครื่องได้ โปรโตคอลการขนส่งสามารถระบุได้อย่างชัดเจนโดยใช้ตัวเลือก --protocol=TCP เรามาดูตัวอย่างกัน −
ตัวอย่าง
mysql --host=127.0.0.1 mysql --protocol=TCP
บน Windows ไคลเอนต์ MySQL สามารถบังคับให้ใช้การเชื่อมต่อไปป์ที่มีชื่อได้ ซึ่งสามารถทำได้โดยการระบุตัวเลือก --pipe หรือ --protocol=PIPE มิฉะนั้น, . (จุด) เรียกชื่อโฮสต์ก็ได้
การเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลจะใช้ TCP/IP คำสั่งจะเชื่อมต่อกับเซิร์ฟเวอร์ที่ทำงานบน remote.example.com โดยใช้หมายเลขพอร์ตเริ่มต้น (3306) ให้เราเห็นมันในการดำเนินการ -
mysql --host=remote.example.com
ในการระบุหมายเลขพอร์ตอย่างชัดเจน คุณสามารถใช้ตัวเลือก --port หรือ -P มาดูกันว่าจะทำได้อย่างไร -
mysql --host=remote.example.com --port=13306
หากต้องการใช้หมายเลขพอร์ต ให้บังคับการเชื่อมต่อ TCP/IP สามารถทำได้โดยใช้วิธีใดวิธีหนึ่ง −
mysql --port=13306 --host=127.0.0.1 (or) mysql --port=13306 --protocol=TCP
เป็นไปได้ที่จะระบุพารามิเตอร์การเชื่อมต่อโดยไม่ต้องป้อนบนบรรทัดคำสั่งทุกครั้งที่เรียกใช้โปรแกรมไคลเอนต์