ไม่พบคำสั่ง Mysql ใน OS X 10.7


163

ฉันไม่สามารถทำให้ mysql ของฉันเริ่มต้นใน OS x 10.7 มันตั้งอยู่ใน/usr/local/mysql/bin/mysql

ฉันไม่ได้รับคำสั่งเมื่อฉันพิมพ์mysql --versionใน terminal

ฉันพยายามนี้ไม่สามารถเข้าถึง mysql จาก mac command lineแต่ก็ยังไม่พบคำสั่ง ฉันพยายามติดตั้ง mysql ด้วย dmg และฉันพยายามติดตั้งผ่าน homebrew และฉันไม่สามารถใช้งานได้ เมื่อฉันพยายามเริ่ม mysql กับ homebrew ฉันจะได้รับMySQL จะไม่เริ่มทำงาน

นี่คือของฉัน$PATH:

/ usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / X11 / bin: / usr / local / คอมไพล์ / bin: / ผู้ใช้ / วิกตอเรีย / bin: / usr / local // usr / local / MySQL / bin / เอกชน / var / MySQL / เอกชน / var / MySQL / bin


1
ไดเรกทอรีการติดตั้งอยู่ใน PATH ของคุณหรือไม่
Greg Hewgill

1
มีหลายสิ่งที่ต้องตรวจสอบ ก่อนอื่นให้ทำตามคำแนะนำในการติดตั้งอย่างรอบคอบซึ่งให้มาพร้อมกับ DMG & ครอบคลุมขั้นตอนที่เกี่ยวข้องทั้งหมดสำหรับ OS X มีแผงควบคุมระบบเตรียมไว้ให้เริ่ม / หยุด mysql ด้วย นอกจากนี้ OSX ยังมีชื่อเสียงในการเปลี่ยนตำแหน่งของ mysql.sock - คุณจะต้องตั้งค่าเป็น /tmp/mysql.sock ใน my.cnf & php.ini - google ว่าจะมีคำแนะนำมากมาย
RiquezJP

mysql - รุ่นจะใช้งานได้ถ้าคุณสั่งให้ BASH มีคำสั่งทางลัดนั้น - นี่คือรายละเอียดในการติดตั้งอ่านฉัน
RiquezJP

5
หากคุณนำทางไปยังโฟลเดอร์ mysql cd / usr / local / mysql / bin แล้วออกคำสั่ง version มันจะทำงาน ./mysql --version
RiquezJP

คำตอบ:


371

นี่เป็นปัญหากับ $ PATH ของคุณ:

/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin.

$PATHเป็นที่ที่เชลล์ค้นหาไฟล์คำสั่ง โฟลเดอร์ที่ต้องการค้นหาจะต้องคั่นด้วยเครื่องหมายโคลอน และดังนั้นคุณต้องการ/usr/local/mysql/bin/ในเส้นทางของคุณ แต่แทนที่จะค้นหาใน/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/binซึ่งอาจไม่มีอยู่

${PATH}:/usr/local/mysql/binแต่คุณต้องการ

ทำเช่นexport PATH=${PATH}:/usr/local/mysql/binนั้น

หากคุณต้องการให้สิ่งนี้ทำงานทุกครั้งที่คุณเปิดเทอร์มินัลใส่ไว้ในไฟล์.bash_profileซึ่งจะทำงานเมื่อเปิดเทอร์มินัล


2
ตอนนี้ฉันได้รับข้อผิดพลาดที่ฉันได้รับกับ homebrew ERROR 2002 (HY000): ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ภายในผ่านซ็อกเก็ต '/tmp/mysql.sock' (2)
SilverNightaFall

2
ซึ่งหมายความว่าซ็อกเก็ต MySQL ถูกใส่ผิดที่ซึ่งเป็นข้อผิดพลาดที่แตกต่างกันมาก นั่นเป็นปัญหากับ mysql $PATHไม่ได้ของคุณ
Hophat Abc

1
ทำสิ่งที่คำตอบอื่น ๆ พูดว่า: ลบไฟล์ pid นี้ตรวจสอบให้แน่ใจว่าอินสแตนซ์ทั้งหมดหยุดทำงาน (หยุดกระบวนการใด ๆ ที่ไม่ลง) ตรวจสอบว่าไม่มีอะไรฟังพอร์ต MySQL 3306 (netstat น่าจะช่วยได้) และลองเริ่ม MySQL อีกครั้ง
Hophat Abc

1
ฉันขอแนะนำให้เปิดการตรวจสอบกิจกรรมและฆ่าอินสแตนซ์ทั้งหมดของ mysql
Hophat Abc

1
ไบนารี MySQL /usr/local/mysql/binของฉันไม่ได้อยู่ใน
user124384

29

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

  1. เริ่ม MAMP หรือ MAMP PRO
  2. เริ่มต้นเซิร์ฟเวอร์
  3. Open Terminal (Applications -> Utilities)
  4. พิมพ์ใน: (หนึ่งบรรทัด) / Applications / MAMP / Library / bin / mysql --host = localhost -uroot -proot

มันใช้งานได้สำหรับฉัน


29

อีกทางเลือกหนึ่งคือการสร้างลิงค์นุ่ม /usr/local/bin

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

แต่ถ้าคุณต้องการปฏิบัติการอื่น ๆ เช่นmysqldumpคุณจะต้องสร้างซอฟต์ลิงค์ให้พวกมัน


2
หรือsudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
Bob Stein

18

คุณต้องตั้งค่า PATH สำหรับ mysql ใน.bashrcไฟล์ของคุณโดยใช้สิ่งต่อไปนี้:

  export PATH=$PATH:/usr/local/mysql/bin

แต่หากคุณใช้งานอยู่oh my zshคุณจะต้องเพิ่มพา ธ ใน.zshrcไฟล์


9

PATHของคุณอาจไม่ได้ติดตั้ง ไปที่เทอร์มินัลแล้วพิมพ์:

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.bash_profile

เป็นหลักนี้ช่วยให้คุณสามารถเข้าถึง mysql ได้จากทุกที่

พิมพ์cat .bash_profileเพื่อตรวจสอบ PATH ได้รับการตั้งค่า

ตรวจสอบรุ่นmysql ทันที :mysql --version

หากยังไม่สามารถใช้งานได้ให้ปิดเทอร์มินัลแล้วเปิดใหม่ ตรวจสอบเวอร์ชั่นตอนนี้ควรใช้งานได้ โชคดี!


8

หากคุณติดตั้งเซิร์ฟเวอร์ MySQL และคุณยังคงได้รับ

mysql -u root -p command not found

คุณมักจะประสบกับปัญหานี้เนื่องจากคุณมีเวอร์ชัน Mac ที่เก่ากว่า

ลองสิ่งนี้:

ในโฮมไดเร็กทอรีในเทอร์มินัล open -t .bash_profile

วางexport PATH=${PATH}:/usr/local/mysql/bin/ข้างในและบันทึก

แทนที่จะเขียนmysql -uroot -pวางต่อไปนี้ใน terminal ของคุณ:

/usr/local/mysql/bin/mysql -uroot -p 

ใส่รหัสผ่านของคุณ ตอนนี้คุณอยู่ใน


3

ฉันได้ลองใช้คำแนะนำมากมายเกี่ยวกับ SO แต่นี่เป็นคำแนะนำที่ใช้ได้ผลสำหรับฉัน

sudo sh -c 'echo /usr/local/mysql/bin > /etc/paths.d/mysql'

จากนั้นคุณพิมพ์

mysql

มันจะแจ้งให้คุณป้อนรหัสผ่านของคุณ


ฉันไม่ได้ใช้เวอร์ชัน Mac ใหม่แม็คของฉันเสียชีวิต :( ดังนั้นฉันจึงไม่สามารถทดสอบได้อีกต่อไป
zazu

@zazu ขออภัยที่คุณพลาด
Sajad

3

หากคุณใช้เทอร์มินัลคุณจะต้องเพิ่มสิ่งต่อไปนี้ ./bash_profile

export PATH="/usr/local/mysql/bin:$PATH"

หากคุณกำลังใช้ zsh คุณจะต้องเพิ่มบรรทัดด้านบนให้กับคุณ ~/.zshrc


2

เพิ่มบรรทัดต่อไปนี้ใน bash_profile:

alias startmysql='sudo /usr/local/mysql/support-files/mysql.server start'
alias stopmysql='sudo /usr/local/mysql/support-files/mysql.server stop'

และบันทึก bash_profile

ตอนนี้ในเทอร์มินัลเริ่มต้นและหยุดเซิร์ฟเวอร์ mysql โดยใช้คำสั่งต่อไปนี้:

startmysql //to start mysql server

และ

stopmysql //to stop mysql server


1

ด้วย MAMP

  1. ค้นหา mysql ที่ / Applications / MAMP / Library / bin / mysql
  2. sudo vi / etc / path
  3. เพิ่มพา ธ นี้ไปยังไฟล์ / Applications / MAMP / Library / bin
  4. : wq (บันทึกและออกจากไฟล์)
  5. ปิดหน้าต่างเทอร์มินัล
  6. เปิด Terminal ขึ้นมาใหม่และพิมพ์ mysql และควรใช้งานได้

0

ใน terminal ทำ:

vi ~/.bash_profile 

และเพิ่มบรรทัดนี้:

export PATH=${PATH}:/usr/local/mysql/bin

และพิมพ์สิ่งนี้ใน terminal:

mysql -u [username] -p [password]

0

บางทีฉันอาจจะช่วยคนอื่น คำตอบข้างต้นไม่ได้ผลสำหรับ Catalina ในที่สุดนี้แก้ปัญหาได้

echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> /Users/$(whoami)/.bash_profile

แน่นอนคุณต้องเปลี่ยนเวอร์ชั่นของ mysql ที่ติดตั้งไว้

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