Máy chủ MySQL đã biến mất xampp

Việc can thiệp thủ công có thể không liên tục và vì đây là việc chỉ thực hiện một lần trong một số tình huống nhất định (e. g. , một truy vấn chạy dài không tốt), có thể một DBA sẽ biết. Pt-kill có thể ít được chú ý hơn vì nó thường được chạy như một giải pháp thay thế để ngăn các truy vấn dài không hợp lệ đó đánh thuế hệ thống tài nguyên. Kiểm tra danh sách quy trình hệ thống sẽ đưa các lệnh lên bề mặt

Vỏ bọc

1

2

3

$ ps xauf . grep pt - giết

taras 6069 0. 1 0. 1 111416 29452 điểm / . S+ 10:57 0. 00 . . \_ perl / usr . 0. 0. 1/bin/pt-kill --interval 1s --busy-time 5s --match-info (SELECT) h=127.0.0.1 -- in -- giết

taras 6913 0. 0 0. 0 21532 1112 điểm / . S+ 11:00 0. 00 . \_ grep -- color=auto pt-kill

Một cách rất thuận tiện là sử dụng plugin kiểm tra có sẵn cho Máy chủ Percona dành cho MySQL để xác định xem lệnh kill đến từ đâu.

Vỏ bọc

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<AUDIT_RECORD>

  <TÊN>Truy vấn</NAME>

  <GHI>624484743_2020-06-30T17:38. 14< / Ghi lại>

  <DẤU THỜI GIAN>2020-06-30T17:57. 35 UTC< / DẤU THỜI GIAN>

  <COMMAND_CLASS>giết</COMMAND_CLASS>

  <CONNECTION_ID>17</CONNECTION_ID>

  <TRẠNG THÁI>0</STATUS>

  <SQLTEXT>KILL QUERY 16</SQLTEXT>

  <NGƯỜI DÙNG>taras[taras] @ localhost []</USER>

  <HOST>localhost</HOST>

  <OS_USER></OS_USER>

  <IP></IP>

  <DB></DB>

< / AUDIT_RECORD>

Nó hiển thị tên máy chủ, người dùng và thời gian khi kết nối bị ngắt

2. Chuyển khối dữ liệu lớn

Ví dụ: khi sử dụng các trường BLOB để lưu trữ dữ liệu nhị phân trong một bảng hoặc có một câu lệnh INSERT chứa rất nhiều hàng. Nó có thể xảy ra khi sử dụng ứng dụng khách MySQL CLI (một trong những trường hợp đang tải kết xuất SQL) hoặc nó có thể xảy ra trong một ứng dụng khi nó cố lưu trữ dữ liệu BLOB (ví dụ: từ một tệp tải lên)

Có một giới hạn mà MySQL áp đặt đối với lượng dữ liệu có thể được truyền trên mỗi truy vấn và biến max_allowed_packet xác định giới hạn đó

Vì vậy, trong cả hai trường hợp, chúng ta cần xác định dữ liệu đang được ghi vào bảng nào, chẳng hạn như lấy tệp SQL cho các câu lệnh INSERT INTO và thực hiện ghi nhật ký ở cuối ứng dụng. Bằng cách này, câu lệnh sẽ được lưu trữ cùng với lỗi khiến nó không thể hoàn thành. Có thể ghi lại một phần câu lệnh (vì BLOB có thể gây khó khăn cho việc ghi nhật ký), nhưng miễn là có tên bảng, thì có thể kiểm tra cấu trúc bảng và xem liệu nó có chứa dữ liệu nhị phân hay không

Ví dụ về câu lệnh INSERT với dữ liệu nhị phân (cắt bớt)

Vỏ bọc

1

CHÈN VÀO t1 GIÁ TRỊ (1, x'89504....82)

Để cho phép thực hiện truy vấn lớn hơn, biến cần được điều chỉnh

Vỏ bọc

1

SET TOÀN CẦU max_allowed_packet = 128M ;

Biến có thể được đặt cho mỗi phiên hoặc trên toàn cầu, tùy thuộc vào trường hợp sử dụng

3. Kết nối đã bị đóng do hết thời gian chờ

Nó không quan trọng, nhưng các ứng dụng có thể sử dụng lại các kết nối đã được thiết lập. Trong thời gian không hoạt động hoặc lưu lượng truy cập thấp hơn, có thể một số kết nối sẽ không được sử dụng trong một thời gian và bị đóng ở đầu MySQL. Nó được theo dõi tốt nhất với việc ghi nhật ký ứng dụng;

Vỏ bọc

1

2

mysql> SET PHIÊN wait_timeout = 5 ;

Truy vấn OK, 0 hàng affected (0.00 giây)

Đợi 5 giây

Vỏ bọc

1

2

3

4

5

6

7

8

9

10

11

12

mysql> chọn 1 ;

ERROR 2006 (HY000): MySQL máy chủ đã biến mất đi

Không có kết nối. Đang thử để kết nối lại. . .

Kết nối id. 16

Cơ sở dữ liệu hiện tại. *** KHÔNG CÓ ***

 

+---+

| 1 .

+---+

| 1 .

+---+

1 hàng trong bộ (0.01 giây)

Thông thường, kết nối được thiết lập lại và ứng dụng tiếp tục hoạt động bình thường;

Vỏ bọc

1

SET TOÀN CẦU wait_timeout = 57600 ;

Giá trị mặc định cho biến là 28800 giây (8 giờ), đủ trong hầu hết các trường hợp

Ngoài ra, việc đóng các kết nối hoàn toàn từ đầu ứng dụng, sau một thời gian không hoạt động, sẽ loại bỏ vấn đề này

4. Máy chủ MySQL đã thực sự biến mất

Đây có lẽ là tình huống tồi tệ nhất có thể xảy ra khi MySQL gặp sự cố khi truy vấn hoặc do một số lý do khác, chẳng hạn như. g. , sát thủ OOM đã giết quá trình. Tuy nhiên, nó cũng có thể do khởi động lại sạch

Trong trường hợp này, người ta nên kiểm tra thời gian hoạt động của MySQL và nhật ký, nhật ký lỗi MySQL và nhật ký hệ thống. Chúng sẽ cho biết liệu máy chủ có khởi động lại hay không và liệu có lỗi dẫn đến khởi động lại hay không

Trong trường hợp máy chủ gặp sự cố, đã đến lúc tìm ra nguyên nhân thực sự. Kiểm tra trình theo dõi lỗi, vì sự cố có thể đã được báo cáo và có thể đã được khắc phục; . Trong trường hợp đó là một lần khởi động lại hoàn toàn, hãy kiểm tra xem các bản cập nhật tự động có được bật hay không hoặc liệu người khác có khởi động lại dịch vụ một cách tương tác hay không (vâng, thiếu giao tiếp cũng là một vấn đề)

Tại sao 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ủ.

XAMPP có máy chủ MySQL không?

XAMPP là Ngăn xếp Giải pháp Máy chủ Web đa nền tảng, miễn phí và mã nguồn mở được xây dựng bởi Apache Friends, phần lớn bao gồm Máy chủ HTTP Apache, Cơ sở dữ liệu MariaDB/MySQL, and interpreters for PHP and Perl scripts.

XAMPP MySQL ở đâu?

Đi tới C. thư mục \xampp\phpMyAdmin , sửa file config. tập đoàn. php (trên một số hệ thống, nó được gọi là config. vỡ nợ.