Không tìm thấy lệnh Mysql trong OS X 10.7


163

Tôi không thể lấy mysql của mình để bắt đầu vào os x 10.7. Nó nằm tại/usr/local/mysql/bin/mysql

Tôi nhận được lệnh không tìm thấy khi tôi gõ mysql --versionvào thiết bị đầu cuối.

Tôi đã thử điều này không thể truy cập mysql từ dòng lệnh mac nhưng vẫn không tìm thấy lệnh. Tôi đã thử cài đặt mysql với dmg và tôi đã thử cài đặt nó thông qua homebrew và tôi không thể làm cho nó hoạt động được. Khi tôi cố gắng khởi động mysql bằng homebrew, tôi sẽ thấy MySQL sẽ không bắt đầu

Đây là của tôi $PATH:

/ usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / X11 / bin: / usr / local / git / bin: / Users / Victoria / bin: / usr / local // usr / local / mysql / bin / private / var / mysql / private / var / mysql / bin


1
Là thư mục cài đặt trong PATH của bạn?
Greg Hewgill

1
Có một số điều cần kiểm tra. Trước tiên, hãy làm theo các hướng dẫn cài đặt cẩn thận được cung cấp với DMG và bao gồm tất cả các bước có liên quan cho OS X. Có một bảng điều khiển prefs hệ thống được cung cấp để bắt đầu / dừng mysql. Ngoài ra, OSX nổi tiếng với việc thay đổi vị trí của mysql.sock - bạn sẽ cần đặt nó thành /tmp/mysql.sock trong my.cnf & php.ini - google rằng, sẽ có nhiều hướng dẫn
RiquezJP

mysql --version sẽ chỉ hoạt động nếu bạn hướng dẫn BASH có lệnh tắt đó - đây là chi tiết trong phần cài đặt đọc cho tôi
RiquezJP

5
Nếu bạn điều hướng đến thư mục mysql cd / usr / local / mysql / bin và sau đó ban hành lệnh phiên bản, nó sẽ hoạt động. ./mysql --version
RiquezJP

Câu trả lời:


371

Đây là vấn đề với $ PATH của bạn:

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

$PATHlà nơi shell tìm kiếm các tập tin lệnh. Các thư mục để tìm kiếm cần phải được phân tách bằng dấu hai chấm. Và vì vậy, bạn muốn /usr/local/mysql/bin/trong đường dẫn của mình nhưng thay vào đó, nó tìm kiếm /usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin, có lẽ không tồn tại.

Thay vào đó bạn muốn ${PATH}:/usr/local/mysql/bin.

Vì vậy, làm export PATH=${PATH}:/usr/local/mysql/bin.

Nếu bạn muốn nó được chạy mỗi khi bạn mở terminal, hãy đặt nó vào tập tin .bash_profile, nó sẽ chạy khi Terminal mở.


2
bây giờ tôi đang gặp lỗi tôi gặp phải với homebrew ERROR 2002 (HY000): Không thể kết nối với máy chủ MySQL cục bộ thông qua socket '/tmp/mysql.sock' (2)
SilverNightaFall

2
Điều này có nghĩa là ổ cắm mysql bị đặt sai vị trí, đây là một lỗi rất khác nhau. Đó là một vấn đề với mysql, không phải của bạn $PATH.
Hophat Abc

1
Làm những gì câu trả lời khác đã nói: Xóa tệp pid này, đảm bảo tất cả các trường hợp đã dừng (tiêu diệt mọi quá trình không xảy ra), kiểm tra không có gì đang nghe cổng MySQL 3306 (netstat sẽ trợ giúp) và thử khởi động lại MySQL.
Hophat Abc

1
Tôi sẽ khuyên bạn nên mở Activity Monitor và tiêu diệt tất cả các phiên bản của mysql
Hophat Abc

1
Nhị phân mysql của tôi không ở trong /usr/local/mysql/bin.
dùng124384

29

Tôi đã đối mặt với cùng một vấn đề, và cuối cùng tôi đã có một giải pháp. Vui lòng thực hiện theo các bước dưới đây, nếu bạn đang sử dụng MAMP.

  1. Bắt đầu MAMP hoặc MAMP PRO
  2. Khởi động máy chủ
  3. Mở Terminal (Ứng dụng -> Tiện ích)
  4. Nhập vào: (một dòng) / Ứng dụng / MAMP / Thư viện / bin / mysql --host = localhost -uroot -proot

Điều này làm việc cho tôi.


29

Một cách khác là tạo liên kết mềm trong /usr/local/bin

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

Nhưng nếu bạn cần các tệp thực thi khác như thế mysqldump, bạn sẽ cần tạo liên kết mềm cho chúng.


2
hoặcsudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
Bob Stein

18

Bạn phải đặt PATH cho mysql trong .bashrctệp của mình bằng cách sử dụng như sau:

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

Nhưng nếu bạn đang sử dụng oh my zshthì bạn phải thêm đường dẫn vào .zshrctập tin.


9

PATH của bạn có thể không thiết lập. Đi đến thiết bị đầu cuối và gõ:

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

Về cơ bản, điều này cho phép bạn truy cập mysql từ bất cứ đâu.

cat .bash_profileđể kiểm tra PATH đã được thiết lập.

Kiểm tra phiên bản mysql ngay bây giờ:mysql --version

Nếu điều này vẫn không hoạt động, đóng thiết bị đầu cuối và mở lại. Kiểm tra phiên bản bây giờ, nó sẽ hoạt động. Chúc may mắn!


8

Nếu bạn đã cài đặt MySQL Server và bạn vẫn nhận được

mysql -u root -p command not found

Bạn rất có thể gặp phải điều này vì bạn có phiên bản mac cũ hơn.

Thử cái này:

trong thư mục nhà trong thiết bị đầu cuối open -t .bash_profile

dán export PATH=${PATH}:/usr/local/mysql/bin/bên trong và lưu nó

thay vì viết mysql -uroot -pdán sau đây trong thiết bị đầu cuối của bạn:

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

Nhập mật khẩu của bạn. Bây giờ bạn đang ở trong.


3

Tôi đã thử rất nhiều đề xuất về SO nhưng đây là một trong những gợi ý thực sự phù hợp với tôi:

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

sau đó bạn gõ

mysql

Nó sẽ nhắc bạn nhập mật khẩu của bạn.


Tôi chưa sử dụng phiên bản Mac mới, máy mac của tôi đã chết :( vì vậy tôi không thể kiểm tra nó nữa
zazu

@zazu Xin lỗi vì sự mất mát của bạn.
Sajad

3

Nếu bạn đang sử dụng thiết bị đầu cuối, bạn sẽ muốn thêm vào như sau ./bash_profile

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

Nếu bạn đang sử dụng zsh, bạn sẽ muốn thêm dòng trên vào ~/.zshrc


2

Thêm các dòng sau vào bash_profile:

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

và lưu bash_profile.

Bây giờ, trong thiết bị đầu cuối bắt đầu và dừng máy chủ mysql bằng các lệnh sau:

startmysql //to start mysql server

stopmysql //to stop mysql server

2

Tôi đã cài đặt MAMP và phpmyadmin đang hoạt động.

Nhưng không thể tìm thấy / usr / local / bin / mysql

Cái này đã sửa nó

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql

nó tạo ra một liên kết tượng trưng. Để loại bỏ nó cố gắng này linuxize.com/post/how-to-remove-symbolic-links-in-linux
zod

1

Với MAMP

  1. Định vị mysql thường tại / Ứng dụng / MAMP / Thư viện / bin / mysql
  2. sudo vi / etc / đường dẫn
  3. Thêm đường dẫn này vào tệp / Ứng dụng / MAMP / Thư viện / bin
  4. : wq (Lưu và thoát tệp)
  5. Đóng cửa sổ Terminal
  6. Mở lại Terminal và gõ mysql và nó sẽ hoạt động

0

trong thiết bị đầu cuối làm:

vi ~/.bash_profile 

Và thêm dòng này:

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

và loại này trong thiết bị đầu cuối:

mysql -u [username] -p [password]

0

Có lẽ tôi sẽ giúp người khác. Không có câu trả lời nào ở trên làm việc cho Catalina. Cuối cùng, điều này đã giải quyết vấn đề

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

Tất nhiên, bạn phải thay đổi phiên bản mysql bạn đã cài đặt

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.