Hướng dẫn what is pid file in mysql? - tệp pid trong mysql là gì?

Trong các bài viết trước đã trải qua các tùy chọn có sẵn với mysql_safe, một trong các tùy chọn là tệp pid, tức là định danh quy trình & nbsp; filearticles have gone through options available with mysql_safe, one of the option is pid file i.e. process identifier file

  • Máy chủ ghi ID quy trình của mình vào tệp PID khi các dịch vụ MySQL được khởi động và xóa tệp khi dừng.
  • Tệp PID là phương tiện mà máy chủ cho phép tự mình tìm thấy bởi các quy trình khác.

Vị trí Vị trí của & NBSP; Tệp PID là thư mục dữ liệu hoặc nó có thể được chỉ định bởi biến cụ thể & nbsp; pid-file = file_namegenerally pid được đưa ra dưới dạng tên máy chủ Xử lý ID & NBSP; của quy trình Daemon MySQL bằng cách sử dụng & nbsp; ps -ef | grep mysqldyou có thể xem nội dung của tệp pid và id quy trình này được xác định bằng lệnh ps -ef là như nhau.
default location of  pid file is data directory or it can be specified by specific variable 
pid-file=file_name
generally pid file is given as hostname.pid

Content
The pid file content the process identification number of mysqld process, you can see content by using below command
cat

and also see the process id  of mysql daemon process using 
ps -ef|grep mysqld

you can see content of pid file and this process id identified using ps -ef command are same.

Không thể tìm thấy tệp PID của máy chủ MySQL khi

pid-file    = /var/run/mysqld/mysqld.pid
9 không thể tìm thấy tệp
mkdir /var/run/mysqld
touch /var/run/mysqld/mysqld.pid
chown -R mysql:mysql /var/run/mysqld
0. Nó cũng có thể xảy ra nếu quá trình
pid-file    = /var/run/mysqld/mysqld.pid
9 bị giết đột ngột. Vì quá trình không kết thúc đúng cách, tệp
mkdir /var/run/mysqld
touch /var/run/mysqld/mysqld.pid
chown -R mysql:mysql /var/run/mysqld
0 không phù hợp.MySql server PID file could not be found error occurs when
pid-file    = /var/run/mysqld/mysqld.pid
9 cannot find the
mkdir /var/run/mysqld
touch /var/run/mysqld/mysqld.pid
chown -R mysql:mysql /var/run/mysqld
0 file. It may also occur if the
pid-file    = /var/run/mysqld/mysqld.pid
9 process is killed abruptly. Since the process does not end properly, the
mkdir /var/run/mysqld
touch /var/run/mysqld/mysqld.pid
chown -R mysql:mysql /var/run/mysqld
0 file is mismatched.

Dung dịch

Bước 1. Kiểm tra tham số ________ 20-File và tạo
mkdir /var/run/mysqld
touch /var/run/mysqld/mysqld.pid
chown -R mysql:mysql /var/run/mysqld
4

Kiểm tra nơi ________ 20 điểm của bạn chỉ ra. Bạn có thể làm điều này bằng cách chạy:

my.cnf

Nếu tham số không có mặt, hãy đặt nó như hình dưới đây:

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

Tiếp theo, tạo thư mục sau và cung cấp cho nó các quyền thích hợp, như sau:

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

Bước 2. Thay đổi quyền sở hữu của thư mục
pid-file    = /var/run/mysqld/mysqld.pid
9

Thay đổi quyền sở hữu của thư mục MySQL:

sudo chown -R _mysql:_mysql mysql

Bước 3. Thay đổi quyền của thư mục
pid-file    = /var/run/mysqld/mysqld.pid
9

Bạn có thể thay đổi quyền của thư mục

pid-file    = /var/run/mysqld/mysqld.pid
9 bằng cách nhập:

sudo chmod 777 /usr/local/var/mysql

Thay đổi quyền của/usr/local/var

Nếu các giải pháp trên không hoạt động, hãy thử thay đổi quyền của

mkdir /var/run/mysqld
touch /var/run/mysqld/mysqld.pid
chown -R mysql:mysql /var/run/mysqld
9 bằng cách gõ:

sudo chmod 777 /usr/local/var

3.5.2.2 & NBSP; Xác minh tất cả các tệp PID quy trình cụm

Bạn phải xác minh rằng mỗi quy trình trong cụm hoang dã có tệp PID hợp lệ. Đối với mục đích của cuộc thảo luận này, một tệp PID hợp lệ có các đặc điểm sau:

  • Tên tệp ở định dạng

    sudo chown -R _mysql:_mysql mysql
    
    0.Pid, trong đó
    sudo chown -R _mysql:_mysql mysql
    
    1 là ID nút được sử dụng cho quy trình.

  • Tệp được đặt trong thư mục dữ liệu được sử dụng bởi quy trình.

  • Dòng đầu tiên của tệp chứa ID quy trình của quy trình nút và chỉ ID quy trình đó [yêu cầu này thay đổi khi được áp dụng cho ghi chú dữ liệu cho Trình quản lý cụm MySQL 1.4.7 trở lên; xem giải thích bên dưới].

  1. Để kiểm tra tệp PID cho quy trình Node Quản lý, hãy đăng nhập vào vỏ hệ thống trên máy chủ

    sudo chown -R _mysql:_mysql mysql
    
    2, thay đổi thư mục dữ liệu của nút quản lý như được chỉ định bởi tham số
    sudo chown -R _mysql:_mysql mysql
    
    3 trong tệp cấu hình của cụm, sau đó kiểm tra xem tệp PID có có mặt . Trên Linux, bạn có thể sử dụng lệnh hiển thị ở đây:

    $> ls ndb_*.pid
    ndb_50.pid

    Kiểm tra nội dung của tệp

    sudo chown -R _mysql:_mysql mysql
    
    4 phù hợp bằng trình soạn thảo máy nhắn tin hoặc trình soạn thảo văn bản. Chúng tôi sử dụng nhiều hơn cho mục đích này ở đây:more for this purpose here:

    $> more ndb_50.pid
    10221

    Số được hiển thị phải khớp với ID quy trình NDB_MGMD. Chúng ta có thể kiểm tra điều này trên Linux bằng lệnh PS:ndb_mgmd process ID. We can check this on Linux using the ps command:

    $> ps -ef | grep ndb_mgmd
    ari      10221     1  0 19:38 ?        00:00:09 /home/ari/bin/cluster/bin/ndb_mgmd --config-file=/home/ari/bin/cluster/wild-cluster/config.ini --config-cache=false --ndb-nodeid=50

    Tệp PID Node Quản lý đáp ứng các yêu cầu được liệt kê ở đầu phần này.

  2. Tiếp theo, chúng tôi kiểm tra các tệp PID cho các nút dữ liệu, trên máy chủ

    sudo chown -R _mysql:_mysql mysql
    
    5 và
    sudo chown -R _mysql:_mysql mysql
    
    6. Đăng nhập vào vỏ hệ thống trên
    sudo chown -R _mysql:_mysql mysql
    
    5, sau đó lấy ID quy trình của quy trình NDBD trên máy chủ này, như được hiển thị ở đây:ndbd process on this host, as shown here:

    $> ps -ef | grep ndbd
    ari      12838     1  0 Nov08 ?        00:10:12 ./bin/ndbd --initial --ndb-nodeid=2 --ndb-connectstring=198.51.100.102

    Như được chỉ định trong tệp cấu hình của cụm,

    sudo chown -R _mysql:_mysql mysql
    
    8 của nút là
    sudo chown -R _mysql:_mysql mysql
    
    9. Chuyển đến thư mục đó để tìm một tệp có tên
    sudo chmod 777 /usr/local/var/mysql
    
    0:

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

    Bây giờ hãy kiểm tra nội dung của tệp này và bạn sẽ xem ID quy trình cho quá trình thiên thần cho nút dữ liệu [xem hướng dẫn trước đó về việc dừng quy trình thiên thần để biết thêm giải thích về quy trình thiên thần]:

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

    Đối với Trình quản lý cụm MySQL 1.4.6 trở lên: Thay đổi số trong tệp PID thành PID riêng của Node Data: Change the number in the PID file to the data node's own PID:

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

    Tương tự, chúng tôi định vị và điều chỉnh nội dung của tệp PID cho nút dữ liệu còn lại [ID nút 3, có thư mục dữ liệu là

    sudo chmod 777 /usr/local/var/mysql
    
    1] trên máy chủ
    sudo chown -R _mysql:_mysql mysql
    
    6:

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

    Chỉnh sửa tệp

    sudo chown -R _mysql:_mysql mysql
    
    4, do đó, nó chứa PID riêng của quy trình dữ liệu:

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

    Tệp PID cho nút dữ liệu này cũng đáp ứng các yêu cầu của chúng tôi ngay bây giờ.

    Đối với Trình quản lý cụm MySQL 1.4.7 trở lên: Không cần phải điều chỉnh các tệp PID để chứa các PID riêng của quy trình dữ liệu, vì điều đó sẽ được chăm sóc bởi tùy chọn

    sudo chmod 777 /usr/local/var/mysql
    
    4 được sử dụng với lệnh quá trình nhập khẩu. Các nút dữ liệu đã sẵn sàng để nhập miễn là chúng có các tệp PID hợp lệ có chứa PID cho các quy trình thiên thần của chúng. There is no need to adjust the PID files to contain the data node processes' own PIDs, as that will be taken care of by the
    sudo chmod 777 /usr/local/var/mysql
    
    4 option used with the
    sudo chmod 777 /usr/local/var/mysql
    
    5 command at the last step of the import process. The data nodes are ready for import as long as they have valid PID files containing the PIDs for their angel processes.

    Chúng tôi đã sẵn sàng để tiến hành nút MySQLD chạy trên máy chủ

    sudo chown -R _mysql:_mysql mysql
    
    2.mysqld node running on host
    sudo chown -R _mysql:_mysql mysql
    
    2.

  3. Để 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

    sudo chmod 777 /usr/local/var/mysql
    
    7 trong tệp cấu hình hoặc ở dòng lệnh khi bắt đầu quy trình MySQLD. Chúng ta hãy truy cập thư mục dữ liệu
    sudo chmod 777 /usr/local/var/mysql
    
    8 trên máy chủ
    sudo chown -R _mysql:_mysql mysql
    
    6 và tìm tệp PID.mysqld process. Let's go to the data directory
    sudo chmod 777 /usr/local/var/mysql
    
    8 on host
    sudo chown -R _mysql:_mysql mysql
    
    6 and look for the PID file.

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

    Lưu ý rằng máy chủ MySQL có thể đã được bắt đầu với tùy chọn

    sudo chmod 777 /usr/local/var
    
    0, đặt tệp PID tại một vị trí được chỉ định. Trong trường hợp sau, cùng một nút MySQLD đã được bắt đầu với tập lệnh MySQLD_SAFE và lệnh PS cho thấy giá trị cho
    sudo chmod 777 /usr/local/var
    
    0 được sử dụng:mysqld node has been started with the mysqld_safe script, and the ps command reveals the value for the
    sudo chmod 777 /usr/local/var
    
    0 used:

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

    Như trong ví dụ, có khả năng bạn có một tệp PID không được đặt tên ở định dạng cần thiết để nhập cụm [

    sudo chown -R _mysql:_mysql mysql
    
    0.pid]; Và nếu tùy chọn
    sudo chmod 777 /usr/local/var
    
    0 được sử dụng, tệp PID có thể không ở vị trí cần thiết [thư mục dữ liệu]. Chúng ta hãy xem xét tệp PID đang được đề cập trong ví dụ cuối cùng:

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

    Tệp PID cho nút SQL nằm ở vị trí chấp nhận được [bên trong thư mục dữ liệu] và có nội dung chính xác [PID bên phải], nhưng có tên sai. Chúng ta chỉ cần sao chép tệp PID vào một tệp được đặt tên chính xác trong cùng một thư mục, như thế này

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


Tệp PID được sử dụng để làm gì?

Tệp PID là một tệp chứa số nhận dạng quy trình [PID] được lưu trữ ở vị trí được xác định rõ của hệ thống tập tin, do đó cho phép các chương trình khác tìm hiểu PID của tập lệnh đang chạy.allowing other programs to find out the pid of a running script.

Làm cách nào để nhận được mysql pid?

Đăng nhập vào DB;Chạy một lệnh hiển thị đầy đủ trong danh sách quy trình;Để có được ID quy trình với trạng thái và truy vấn, điều này gây ra cơ sở dữ liệu bị treo;Chọn ID quy trình và chạy lệnh giết lệnh;để giết quá trình đó.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.

Tệp .PID ở đâu trong MySQL?

Để 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 quy trình MySQLD.Chúng ta hãy truy cập thư mục dữ liệu/home/ari/bin/cluster/cluster hoang dã/51/dữ liệu trên máy chủ 198,51.the data directory of the node, specified by the datadir option in either a configuration file or at the command line at the start of the mysqld process. Let's go to the data directory /home/ari/bin/cluster/wild-cluster/51/data on host 198.51.

Không thể kết nối với máy chủ MySQL cục bộ thông qua Socket TMP MySQL Sock?

Điều đó có nghĩa là máy chủ MySQL không được cài đặt/chạy hoặc tệp mysql.sock không tồn tại trong/var/lib/mysql/.either the MySQL server is not installed/running, or the file mysql. sock doesn't exist in /var/lib/mysql/ .

Bài Viết Liên Quan

Chủ Đề