เชื่อมต่อกับ MySQL จากบรรทัดคำสั่ง


225

คุณจะเชื่อมต่อ MySQL จากบรรทัดคำสั่งใน Mac ได้อย่างไร (เช่นแสดงรหัสให้ฉัน)

ฉันกำลังทำแบบฝึกหัด PHP / SQL แต่มันเริ่มต้นโดยสมมติว่าคุณอยู่ใน MySQL แล้ว

คำตอบ:


404

ดูที่นี่http://dev.mysql.com/doc/refman/5.0/en/connecting.html

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DATABASENAME 

ตัวเลือกข้างต้นหมายถึง:

-u: username
-p: password (**no space between -p and the password text**)
-h: host
last one is name of the database that you wanted to connect. 

ดูที่ลิงค์มันมีรายละเอียดอยู่ที่นั่น!


ตามที่Rickได้กล่าวไว้แล้วคุณสามารถหลีกเลี่ยงการส่งรหัสผ่านเป็นส่วนหนึ่งของคำสั่งโดยไม่ต้องส่งรหัสผ่านดังนี้

mysql -u USERNAME -h HOSTNAMEORIP DATABASENAME -p

ผู้คนกำลังแก้ไขคำตอบนี้: โปรดอย่าเพิ่มพื้นที่ระหว่าง-pและPASSWORD


ขอบคุณ 2 คำถาม 1) คุณต้องใส่ "- u" "- p" ฯลฯ หรือถูกแทนที่ด้วยชื่อผู้ใช้เป็นต้น 2) ถ้าไม่มีฐานข้อมูลที่สร้างคุณเพิ่งปล่อยว่างไว้หรือไม่?
Leahcim

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

@Michael 1) อัปเดตแล้ว จำเป็นต้องเปลี่ยน ALL-CAPS ด้วยค่าจริง ปล่อย -u, -p, -h ตามที่เป็น 2) ใช่ หลังจากเข้าสู่ระบบประเภทshow databasesเพื่อดูรายการของฐานข้อมูล
Nishant

3
@dj_segfault ถูกต้อง ดังนั้นหากคุณออก-pโดยไม่ระบุรหัสผ่านระบบจะแจ้งให้คุณใส่รหัสผ่าน
Nishant

หากคุณยังไม่ได้สร้างฐานข้อมูลคุณต้องใช้คำสั่งmysqladminเพื่อสร้างฐานข้อมูล แต่ฉันเชื่อว่าเมื่อคุณติดตั้งเซิร์ฟเวอร์ฐานข้อมูล "mysql" เริ่มต้นจะถูกสร้างขึ้นซึ่งเก็บข้อมูลสคีมาและการตรวจสอบสิทธิ์ทั้งหมด คุณสามารถเข้าสู่ระบบนั้น (ถ้าคุณมีสิทธิ์เพียงพอ) และสร้างฐานข้อมูลอื่นจากที่นั่น
dj_segfault

128

แนวทางปฏิบัติที่ดีที่สุดmysql -u root -pคือ จากนั้น MySQL จะถามรหัสผ่านหลังจากที่คุณกด Enter


25
.bash_historyที่ซับซ้อนนี้ช่วยให้รหัสผ่านของคุณจากการแสดงใน การใช้วิธีการที่ได้รับคะแนนสูงสุดในปัจจุบันหากมีคนเข้าถึง$HOME(และดังนั้น.bash_history) พวกเขาก็จะมีรายละเอียดการรับรองความถูกต้องของคุณ - น่ากลัว! การบุกรุกแบบนี้สามารถเกิดขึ้นได้(และจะ ) ...
Jeremy

คุณสามารถรันคำสั่ง bash ได้โดยไม่ต้องมีคำสั่ง bash_profile ปรากฏขึ้นใน. bash_profie อ่านเพิ่มเติมได้ที่นี่: commandlinefu.com/commands/view/1512/…
Skid Kadda

@ Jeremy ไม่เพียง.bash_historyแต่ในtopและในเครื่องมืออื่น ๆ อีกมากมายเช่นกัน! คุณสามารถรักษาความปลอดภัยไฟล์ของคุณได้เพียงแชร์คอมพิวเตอร์กับผู้ใช้อื่นที่ถูกกฎหมาย
Melebius

+1 เนื่องจากรหัสผ่านของฉันมีสัญลักษณ์พิเศษอยู่และจะไม่แยกวิเคราะห์เมื่อส่วนหนึ่งของคำสั่งต้องทำแยกต่างหาก
Jacksonkr


9

หลังจากที่คุณรัน MySQL Shell แล้วคุณจะเห็นสิ่งต่อไปนี้:

mysql-js>

ประการแรกคุณควร:

mysql-js>\sql

ประการที่สอง:

 mysql-sql>\connect username@servername (root@localhost)

และในที่สุดก็:

Enter password:*********

3

วิธีหนึ่งในการเชื่อมต่อกับ MySQL โดยตรงโดยใช้ชื่อผู้ใช้และรหัสผ่าน MySQL ที่เหมาะสมคือ:

mysql --user=root --password=mypass

ที่นี่

root is the MySQL username
mypass is the MySQL user password

สิ่งนี้มีประโยชน์หากคุณมีรหัสผ่านว่างเปล่า

ตัวอย่างเช่นถ้าคุณมีผู้ใช้ MySQL ที่เรียกrootด้วยรหัสผ่านที่ว่างเปล่าเพียงใช้

mysql --user=root --password=

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.