2010-11-01 40 views
15

Sau:brew cài đặt mysql, lỗi khi cố gắng ngăn chặn các máy chủ

brew install mysql 
mysql_install_db 

và tôi cố gắng stop máy chủ MySQL:

$ mysql.server stop 
Shutting down MySQL 
.. ERROR! Manager of pid-file quit without updating file. 

Làm thế nào tôi có thể sửa chữa các lỗi trên? Cảm ơn!

Thông tin:

$ mysql -v 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 1 
Server version: 5.1.51 Source distribution 

Trả lời

32

Hướng dẫn cài đặt để mysql đề xuất sao chép /usr/local/Cellar/mysql/5.1.54/com.mysql.mysqld.plist đến ~/Library/LaunchAgents để Mac OS X tự động khởi động mysqld khi bạn đăng nhập.

Nếu bạn đã thiết lập mysqld theo cách này thì quy trình launchd, điều khiển LaunchAgents trong Mac OS X v10.4 trở lên, sẽ tự động khởi động lại quy trình mysqld ngay khi bị lệnh mysql.server stop giết. Đây có thể là lý do cho thông báo lỗi, vì máy chủ đang được tự động khởi động lại.

Chỉ cần kiểm tra điều này trên máy Mac của tôi. Chạy lệnh mysql.server stop mười lần và mỗi lần 'launchd' khởi động lại quá trình msyqld sau khoảng một giây. Sáu lần lệnh kết thúc với một "THÀNH CÔNG!" thông điệp. Bốn lần nó kết thúc bằng thông báo "ERROR! Quản lý tệp pid-quit mà không cập nhật tệp".

CẬP NHẬT: Chỉ cần nhận ra tôi đã không đề cập đến cách dừng máy chủ mysqld nếu nó đang được khởi động bởi launchd.

Đây là lệnh để dừng trình nền mysqld.

launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

+6

Tệp bây giờ là 'homebrew.mxcl.mysql.plist'. –

10

Các bạn đã thử chạy killall mysqld?

+0

Giải quyết mọi vấn đề của tôi. Tôi đã cài đặt mysql đầu tiên bởi dmg. sau đó bởi brew.:D – CantGetANick

+5

Điều này đã không làm việc cho tôi - launchctl ngay lập tức sẽ khởi động lại mysql – cwd

0

này cung cấp cho một thử ..

  1. Navigate to thư mục cha của vấn đề cd YOURPATH/usr/local/mysql
  2. rm -rf *.local.err (xóa tập tin)
  3. touch YOURUSERNAME.local.pid (tạo mới * .local.pid file lỗi đã bị khiếu nại)
  4. cd trở lại dự án của bạn và khởi động lại mysql bằng cách sử dụng mysql.server start
Các vấn đề liên quan