Tìm MySQL pid

Trong tệp cấu hình mysql của bạn - my.cnf, hãy kiểm tra tham số pid-file và xem nó trỏ đến đâu. Nếu không có, hãy đặt thủ công thành -

pid-file    = /var/run/mysqld/mysqld.pid

Tạo thư mục /var/run/mysqld/ và cấp cho nó quyền thích hợp -

sudo mkdir /var/run/mysqld
sudo touch /var/run/mysqld/mysqld.pid
sudo chown -R mysql:mysql /var/run/mysqld

Câu hỏi này hơi lỗi thời nhưng tôi nghĩ tôi đã đăng cách tôi giải quyết vấn đề này khi nó xảy ra với tôi trên máy Mac (OS X El Capitan 10. 11. 4)

Kiểm tra trạng thái chỉ để chắc chắn

mysql.server status

LỖI. MySQL đang chạy nhưng không tìm thấy tệp PID

Tìm tất cả các quy trình mysql đang chạy

ps aux | grep mysql

Nó sẽ liệt kê ra tất cả các process sử dụng mysql (bao gồm cả lệnh bạn vừa thực hiện)

Giết tất cả các pids mysql

sudo kill    ...

Điều này sẽ giết chết tất cả các quy trình mysql

Bây giờ hãy thử kích hoạt mysql lên

mysql.server start

Khởi động MySQL. SỰ THÀNH CÔNG

Hy vọng điều này sẽ giúp được ai đó


CHỈNH SỬA. Giải pháp thay thế từ @DanielTate

Điều này hiệu quả với tôi JasperSoft Wiki - uninstall-mysql-mac-os-x. Tôi đã phải gỡ cài đặt mysql sau đó xóa TẤT CẢ các tệp sau đó cài đặt lại và làm theo hướng dẫn cài đặt brew tại nhà

Khi chạy các lệnh liên quan đến mysql.server trong cài đặt MySQL của bạn, bạn có thể gặp phải lỗi PID file could not be found

Ví dụ sau đây cho thấy lỗi xuất hiện như thế nào khi tôi chạy lệnh mysql.server stop

$ mysql.server status
ERROR! MySQL server PID file could not be found!

Lỗi không thể tìm thấy tệp PID thường do hai nguyên nhân

  • Máy chủ MySQL không chạy, vì vậy không tìm thấy tệp PID
  • Sự không khớp giữa vị trí tệp PID phiên bản MySQL đang chạy và vị trí đích của lệnh mysql.server

Hướng dẫn này sẽ giúp bạn hiểu cả nguyên nhân và cách khắc phục chúng

Máy chủ MySQL không chạy, vì vậy không tìm thấy tệp PID

Tệp MySQL PID là tệp nhận dạng quy trình lưu trữ số ID quy trình của phiên bản MySQL đang chạy

Mỗi khi bạn ra lệnh cho mysql.server, MySQL sẽ tìm tệp PID để tìm ID tiến trình và chuyển tiếp lệnh đến đúng số tiến trình

Khi bạn khởi động máy chủ MySQL, tệp PID sẽ được MySQL tự động tạo. Khi bạn muốn dừng server thì MySQL cần tìm file kết thúc đúng PID từ máy tính của bạn

Khi bạn chạy lệnh mysql.server stop khi không có phiên bản MySQL nào đang chạy, phản hồi sẽ là không tìm thấy tệp PID

$ mysql.server stop
ERROR! MySQL server PID file could not be found!

Đây là lý do tại sao trước khi thử bất kỳ cách khắc phục nào khác, bạn nên đảm bảo rằng phiên bản MySQL đang chạy trên máy tính của bạn

Tùy thuộc vào cách bạn cài đặt MySQL trên máy tính của mình, bạn có thể sử dụng một trong các lệnh sau để khởi động dịch vụ MySQL

  • $ mysql.server stop
    ERROR! MySQL server PID file could not be found!
    
    1 - đối với MySQL được cài đặt bằng trình quản lý gói
  • $ mysql.server stop
    ERROR! MySQL server PID file could not be found!
    
    2 - đối với MySQL được cài đặt bằng Homebrew
  • Sử dụng ngăn tùy chọn để cài đặt MySQL chính thức của macOS
  • Sử dụng bảng điều khiển cho XAMPP, MAMP hoặc WAMP
  • Chạy dịch vụ Windows cho MySQL từ bảng dịch vụ

Khi bạn chắc chắn rằng máy chủ MySQL đang chạy, bạn có thể thử lệnh tạo ra lỗi tệp PID

Nếu lỗi vẫn xuất hiện, thì có thể lỗi không khớp tệp PID xảy ra trên máy tính của bạn. Hãy tìm hiểu cách khắc phục điều đó tiếp theo

Một dịch vụ MySQL có thể được bắt đầu từ nhiều cách. bạn có thể chạy dịch vụ từ Terminal hoặc từ bảng giao diện người dùng

Mỗi khi bạn khởi động dịch vụ MySQL, tệp PID được tạo ở một vị trí cụ thể tùy thuộc vào cấu hình MySQL được sử dụng

Vị trí tệp PID không khớp xảy ra khi bạn tạo tệp PID trên một vị trí, nhưng lệnh bạn hiện đang chạy lại tìm kiếm tệp PID trên một vị trí khác

Trong máy chủ MySQL cục bộ của mình, tôi đã khởi động máy chủ MySQL bằng Ngăn tùy chọn MySQL đi kèm với tệp cài đặt máy chủ MySQL cho Mac

MySQL Preferences Pane for MacNgăn tùy chọn MySQL cho Mac

Khi tôi khởi động máy chủ bằng Preference Pane, MySQL tạo một tệp PID có tên

$ mysql.server stop
ERROR! MySQL server PID file could not be found!
3 trong thư mục
$ mysql.server stop
ERROR! MySQL server PID file could not be found!
4

Khi tôi cố gắng dừng máy chủ bằng lệnh mysql.server stop, MySQL sẽ cố tìm tệp

$ mysql.server stop
ERROR! MySQL server PID file could not be found!
6, tệp này được tạo nếu MySQL được khởi động từ Terminal bằng lệnh
$ mysql.server stop
ERROR! MySQL server PID file could not be found!
7 (
$ mysql.server stop
ERROR! MySQL server PID file could not be found!
8 là tên máy tính Mac của tôi)

Để sửa lỗi, tôi cần dừng chuỗi MySQL hiện đang chạy từ Ngăn Tùy chọn trước khi chạy lại lệnh

$ mysql.server stop
ERROR! MySQL server PID file could not be found!
7

Bạn có thể không sử dụng MySQL Preferences Pane, nhưng có thể bạn có một quy trình MySQL đang chạy trong máy tính hoặc máy chủ Linux sử dụng tên hoặc vị trí tệp PID khác với tên hoặc vị trí mà lệnh của bạn đang cố tìm

Nếu bạn không biết cách dừng máy chủ MySQL, thì bạn có thể thử chạy lệnh

$ ps -e | grep mysql 
24836 ttys001    0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
24920 ttys001    0:01.04 /usr/local/mysql/bin/mysqld
24946 ttys001    0:00.01 grep mysql
0 từ thiết bị đầu cuối của mình

Đây là đầu ra từ máy tính của tôi

$ ps -e | grep mysql 
24836 ttys001    0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
24920 ttys001    0:01.04 /usr/local/mysql/bin/mysqld
24946 ttys001    0:00.01 grep mysql

Kết quả cho tôi biết rằng có

$ ps -e | grep mysql 
24836 ttys001    0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
24920 ttys001    0:01.04 /usr/local/mysql/bin/mysqld
24946 ttys001    0:00.01 grep mysql
1 quy trình đang chạy trên máy tính của tôi. Nếu bạn tìm thấy điều tương tự trong máy tính của mình, thì bạn cần tắt từng tiến trình đang chạy bằng cách sử dụng lệnh
$ ps -e | grep mysql 
24836 ttys001    0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
24920 ttys001    0:01.04 /usr/local/mysql/bin/mysqld
24946 ttys001    0:00.01 grep mysql
2

Số mã PID là số đầu tiên bên trái, vì vậy trong trường hợp của tôi, chúng là

$ ps -e | grep mysql 
24836 ttys001    0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
24920 ttys001    0:01.04 /usr/local/mysql/bin/mysqld
24946 ttys001    0:00.01 grep mysql
3 và
$ ps -e | grep mysql 
24836 ttys001    0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
24920 ttys001    0:01.04 /usr/local/mysql/bin/mysqld
24946 ttys001    0:00.01 grep mysql
4

$ kill -9 24836
$ kill -9 24920

Cùng với đó, sẽ không có tiến trình MySQL nào đang chạy trên máy tính của bạn. Bây giờ bạn có thể thử khởi động lại máy chủ MySQL

$ mysql.server start
Starting MySQL
 SUCCESS!

Bây giờ máy chủ MySQL đã được khởi động từ dòng lệnh, việc dừng máy chủ bằng cách sử dụng mysql.server stop sẽ không gây ra bất kỳ sự cố nào

Và đó là 2 cách bạn có thể sửa lỗi MySQL server PID could not be found

Nếu bạn vẫn gặp lỗi, thì bạn có thể cần phải cài đặt lại máy chủ MySQL của mình. Vui lòng đảm bảo rằng bạn lưu bản sao lưu cơ sở dữ liệu MySQL trước khi cố gắng cài đặt lại chương trình

Tôi có thể tìm thấy PID trong MySQL ở đâu?

Đăng nhập vào DB; . Run a command show full processlist; to get the process id with status and query itself which causes the database hanging; Select the process id and run a command KILL ; to kill that process.

PID trong MySQL là gì?

Tệp MySQL PID là tệp nhận dạng quy trình lưu trữ số ID quy trình của phiên bản MySQL đang chạy . Mỗi lần bạn ra lệnh cho mysql. máy chủ, MySQL sẽ tìm tệp PID để tìm ID quy trình và chuyển tiếp lệnh đến đúng số quy trình.