Lỗi mysql đang chạy nhưng không tìm thấy tệp pid

Tại Bobcares, chúng tôi thường nhận được yêu cầu giải quyết các lỗi MySQL như vậy trong Dịch vụ quản lý máy chủ của chúng tôi

Hôm nay, hãy cùng phân tích nguyên nhân và xem Đội ngũ hỗ trợ của chúng tôi khắc phục như thế nào cho khách hàng

MySQL PID không thể tìm thấy lỗi CentOS là gì?

Trước tiên hãy hình dung về lỗi như vậy. Trong bất kỳ máy chủ nào, Mã định danh quy trình, PID là một số duy nhất xác định từng quy trình đang chạy. Mỗi dịch vụ chạy trên máy chủ sẽ có một PID duy nhất được liên kết với nó

Lỗi PID MYSQL xảy ra do PID hiện tại không cho phép tạo PID mới. Vì vậy, chúng tôi giết PID cũ và khởi động lại dịch vụ MYSQL. Thông thường, lỗi này phát sinh khi chúng tôi cố gắng khởi động lại dịch vụ MYSQL

Gần đây, một trong những khách hàng của chúng tôi đã liên hệ với chúng tôi về lỗi MYSQL PID. Anh ấy đã cố khởi động lại dịch vụ MYSQL và nó trả về lỗi là

Làm thế nào chúng tôi sửa lỗi MySQL PID không thể tìm thấy lỗi centos?

Cho đến nay, chúng tôi đã thảo luận về lỗi MySQL PID không thể tìm thấy centos. Bây giờ hãy xem các Kỹ sư hỗ trợ của chúng tôi khắc phục lỗi này cho khách hàng như thế nào

Giải pháp 1

Để khắc phục lỗi này, Kỹ sư hỗ trợ của chúng tôi làm theo các bước dưới đây

Thông thường nguyên nhân lỗi là do PID hiện tại không cho phép chúng ta tạo PID mới. Vì vậy, chúng tôi hủy PID cũ và sau đó bắt đầu dịch vụ MySQL

1. Do đó, trước tiên chúng tôi kiểm tra PID hiện có của MySQL. Vì vậy, chúng tôi sử dụng lệnh dưới đây

ps -aufx | grep mysql

Thông thường, kết quả mẫu sẽ xuất hiện như thế này,

[root@server ~]# ps -aufx | grep mysql
root 10075 0.0 0.0 61304 748 pts/0 S+ 00:31 0:00 \_ grep mysql
mysql 4745 0.0 0.0 65948 1312 ? S Mar13 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/cent.pid
mysql 3546 0.0 2.1 288868 85376 ? Sl Mar13 198:35 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/cent .err --pid-file=/var/lib/mysql/cent.pid

Từ kết quả trên, chúng tôi đã tìm thấy hai PID MYSQL hiện có. Và làm theo các bước

2. Tiếp theo, chúng tôi giết tiến trình bằng lệnh bên dưới

[root@server ~]# kill -9 4745
[root@server ~]# kill -9 3546

3. Sau đó, chúng tôi bắt đầu dịch vụ MySQL

[root@server ~]# /etc/init.d/mysqld start
Starting MySQL..... SUCCESS!

4. Tiếp theo, chúng tôi kiểm tra Trạng thái dịch vụ MySQL

[root@server ~]# /etc/init.d/mysqld status
SUCCESS! MySQL running (14346)
[root@server ~]#

Dịch vụ MySQL đã được khởi động lại thành công

Giải pháp 2

Đôi khi, việc sử dụng 100% phân vùng máy chủ cũng có thể gây ra lỗi. Ở đây, chúng tôi kiểm tra phân vùng /tmp đã đầy hay chưa. Ngoài ra, điều này có thể xảy ra khi MySQL không thể ghi vào phân vùng /tmp để tạo tệp khóa

1. Đối với điều đó, chúng tôi sử dụng lệnh dưới đây để kiểm tra dung lượng lưu trữ của phân vùng

$ df -h

Ngoài ra, trong nhiều trường hợp, xóa phân vùng /tmp dẫn đến không tìm nạp được tệp MySQL PID. Vì vậy, chúng tôi chỉ cần tạo tệp PID và khởi động lại dịch vụ

2. Do đó, chúng tôi sử dụng lệnh dưới đây để tạo tệp PID. Sau đó, chúng tôi khởi động lại dịch vụ MYSQL

$ touch /tmp/mysql.sock
$ service mysqld restart

3. Tiếp theo, chúng tôi kiểm tra trạng thái MYSQL

service mysqld status
ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists

Tương tự khi lỗi với file lock ta remove file lock và khởi động lại dịch vụ MYSQL

[root@server ~]# ps -aufx | grep mysql
root 10075 0.0 0.0 61304 748 pts/0 S+ 00:31 0:00 \_ grep mysql
mysql 4745 0.0 0.0 65948 1312 ? S Mar13 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/cent.pid
mysql 3546 0.0 2.1 288868 85376 ? Sl Mar13 198:35 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/cent .err --pid-file=/var/lib/mysql/cent.pid
0
[root@server ~]# ps -aufx | grep mysql
root 10075 0.0 0.0 61304 748 pts/0 S+ 00:31 0:00 \_ grep mysql
mysql 4745 0.0 0.0 65948 1312 ? S Mar13 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/cent.pid
mysql 3546 0.0 2.1 288868 85376 ? Sl Mar13 198:35 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/cent .err --pid-file=/var/lib/mysql/cent.pid
1
[root@server ~]# ps -aufx | grep mysql
root 10075 0.0 0.0 61304 748 pts/0 S+ 00:31 0:00 \_ grep mysql
mysql 4745 0.0 0.0 65948 1312 ? S Mar13 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/cent.pid
mysql 3546 0.0 2.1 288868 85376 ? Sl Mar13 198:35 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/cent .err --pid-file=/var/lib/mysql/cent.pid
2

5. Sau đó, chúng tôi kiểm tra tệp nhật ký. /var/lib/mysql/mydomain. com. sai lầm

[root@server ~]# ps -aufx | grep mysql
root 10075 0.0 0.0 61304 748 pts/0 S+ 00:31 0:00 \_ grep mysql
mysql 4745 0.0 0.0 65948 1312 ? S Mar13 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/cent.pid
mysql 3546 0.0 2.1 288868 85376 ? Sl Mar13 198:35 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/cent .err --pid-file=/var/lib/mysql/cent.pid
3

Ở đây, lỗi cho chúng tôi biết rằng chúng tôi gặp sự cố tương thích với một số bảng của mình và MySQL không thể khởi động ở chế độ an toàn

6. Do đó, chúng tôi thay đổi cách MySQL bắt đầu giải quyết tình huống này

[root@server ~]# ps -aufx | grep mysql
root 10075 0.0 0.0 61304 748 pts/0 S+ 00:31 0:00 \_ grep mysql
mysql 4745 0.0 0.0 65948 1312 ? S Mar13 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/cent.pid
mysql 3546 0.0 2.1 288868 85376 ? Sl Mar13 198:35 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/cent .err --pid-file=/var/lib/mysql/cent.pid
4

7. Một lần nữa, chúng tôi bắt đầu dịch vụ MYSQL thành công

8. Sau đó, chúng tôi cố gắng nâng cấp dịch vụ MYSQL

[root@server ~]# ps -aufx | grep mysql
root 10075 0.0 0.0 61304 748 pts/0 S+ 00:31 0:00 \_ grep mysql
mysql 4745 0.0 0.0 65948 1312 ? S Mar13 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/cent.pid
mysql 3546 0.0 2.1 288868 85376 ? Sl Mar13 198:35 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/cent .err --pid-file=/var/lib/mysql/cent.pid
5

[Cần hỗ trợ thêm về MySQL PID không thể tìm thấy lỗi CentOS? . ]

Sự kết luận

Tóm lại lỗi MySQL PID could not be found CentOS xảy ra do PID hiện có không cho phép chúng ta tạo PID mới. Ngoài ra, đây là một vấn đề phổ biến trong quá trình khởi động lại máy chủ MYSQL. Hôm nay, chúng tôi đã xem cách các Kỹ sư hỗ trợ của chúng tôi khắc phục lỗi này

Tệp MySQL PID ở đâu?

Để kiểm tra tệp PID cho nút mysqld. vị trí mặc định cho nó là thư mục dữ liệu của nút , được chỉ định bởi tùy chọn datadir trong tệp cấu hình hoặc tại dòng lệnh khi bắt đầu .

Không thể kết nối với máy chủ MySQL trên máy chủ cục bộ thông qua ổ cắm?

Thử kết nối với 127. 0. 0. 1 thay vì máy chủ cục bộ . 0. 0. 1 đầu nối TCP/IP sẽ được sử dụng. Vì vậy, khi đầu nối ổ cắm không hoạt động, hãy thử kết nối với 127. 0. 0. 1 thay vì.

Pidfile là gì?

Tệp PID là tệp chứa PID của tệp thực thi đã tạo ra tệp đó . Khi một ứng dụng kết thúc, tệp đó sẽ bị xóa. Nếu nó bị xóa trong khi ứng dụng đang chạy, ứng dụng sẽ kết thúc. Nếu ứng dụng khởi động lại, một PID mới được ghi vào tệp.

Không thể kết nối lại với MySQL sau 1 lần thử). Máy chủ MySQL đã biến mất?

Lý do phổ biến nhất dẫn đến lỗi máy chủ MySQL đã biến mất là máy chủ đã hết thời gian chờ và đóng kết nối . Trong trường hợp này, bạn thường nhận được một trong các mã lỗi sau (mã lỗi bạn nhận được phụ thuộc vào hệ điều hành). Khách hàng không thể gửi câu hỏi đến máy chủ.