9
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi có một bảng khóa truy vấn trong mysql [sử dụng innodb]:
UPDATE table SET status = 2 WHERE status = 3
Truy vấn này gây ra bế tắc trên bàn và không thể bỏ qua nó.
Tôi đã cố gắng làm:
show processlist
sau đó tiêu diệt ID quá trình nhưng dường như tôi không thể giết nó
Tôi đã thử:
kill 9588
9588 là ID quy trình.
Sau đó, tôi làm show processlist
Tôi vẫn thấy cùng một truy vấn trong danh sách.
Làm thế nào tôi có thể buộc giết quá trình này và sau đó tại sao truy vấn này sẽ gây ra một khóa chết? Làm thế nào tôi có thể sửa chữa nó?
Hỏi ngày 10 tháng 4 năm 2013 lúc 17:01Apr 10, 2013 at 17:01
2
Khi bạn chạy phiên bản MySQL trên RDS và muốn giết một luồng hoặc truy vấn vì một số lý do, bạn sẽ thấy bạn không thể sử dụng KILL
hoặc mysqladmin kill
vì bạn không có quyền làm như vậy.
RDS cung cấp các quy trình được lưu trữ có tên mysql.rds_kill
và mysql.rds_kill_query
sẽ giết một luồng và truy vấn tương ứng. Để tiêu diệt một chủ đề, trước tiên hãy sử dụng
show processlist
0 để lấy danh sách các luồng và tìm ID của chủ đề bạn muốn giết. Giả sử ID luồng là 53512, sau đó sử dụngCALL mysql.rds_kill[53512]
Nguồn: //snak.tumblr.com/post/13856391340/killing-a-thread-or-query-of-mysql-nucky-on-rds
Đã trả lời ngày 30 tháng 10 năm 2014 lúc 17:24Oct 30, 2014 at 17:24
Eric Leschinskieric LeschinskiEric Leschinski
Phù vàng 140K91 Huy hiệu vàng405 Huy hiệu đồng91 gold badges405 silver badges327 bronze badges
2
Lệnh KILL
yêu cầu chấm dứt truy vấn và trạng thái của lệnh sẽ hiển thị là
show processlist
2. Không có cách nào để buộc phải giết một cái gì đó và chấm dứt ngay lập tức.Là phương sách cuối cùng, bạn luôn có thể tắt và khởi động lại quy trình máy chủ
show processlist
3 của mình.Đã trả lời ngày 10 tháng 4 năm 2013 lúc 17:07Apr 10, 2013 at 17:07
Tadmantadmantadman
204K22 Huy hiệu vàng230 Huy hiệu bạc255 Huy hiệu Đồng22 gold badges230 silver badges255 bronze badges
Bạn cần phải chạy lệnh sau để tiêu diệt quá trình.
> show processlist;
> kill query processId;
Tham số truy vấn Chỉ định rằng chúng ta cần tiêu diệt quy trình lệnh truy vấn.
Cú pháp cho quá trình tiêu diệt như sau
Giết [Kết nối | Truy vấn] ProcessList_id
Vui lòng tham khảo liên kết này để biết thêm thông tin.
Đã trả lời ngày 4 tháng 1 năm 2019 lúc 8:40Jan 4, 2019 at 8:40
Bạn nên cố gắng giết
show processlist
4 trên máy tính của bạn trước và hơn là khay để giết chương trình bạn đang chạy Truy vấn White White.Hy vọng nó sẽ làm việc cho bạn
Đã trả lời ngày 10 tháng 4 năm 2013 lúc 17:15Apr 10, 2013 at 17:15
3
Người bình luận đã chính xác -
show processlist
5 của bạn đã giết chết truy vấn chủ đề của riêng bạn ... như được chỉ ra bởi thực tế là hàng từ danh sách xử lý chỉ ra rằng chủ đề 77 [bạn] là chủ đề hiện đang chạy lệnh show processlist
6.Cách bạn khắc phục vấn đề của mình là tìm bước bạn đã thực hiện trước khi chạy
show processlist
7 và hoàn tác nó. Đây dường như không phải là vấn đề MySQL.Từ hướng dẫn sử dụng MediaWiki: Sao lưu một wiki ...
Mysqldump từ dòng lệnh
Cách thuận tiện nhất để tạo một tệp kết xuất của cơ sở dữ liệu bạn muốn sao lưu là sử dụng công cụ kết xuất MySQL tiêu chuẩn MySQLDump từ dòng lệnh. Hãy chắc chắn để có được các tham số đúng hoặc bạn có thể gặp khó khăn trong việc khôi phục cơ sở dữ liệu.
Đầu tiên chèn dòng sau vào địa phương.php
8show processlist
Điều này có thể được gỡ bỏ ngay khi hoàn thành bãi rác.
Cơ sở dữ liệu của bạn không bị khóa ... wiki của bạn bị khóa, vì bạn đã khóa nó trước khi bạn chạy bản sao lưu.
Nếu biến
show processlist
9 trong tệp cấu hình kill 9588
0 của MediaWiki được đặt, thì điều này sẽ khóa wiki chống lại ghi và cung cấp thông điệp bạn đặt trong chuỗi như một lời giải thích cho người dùng wiki.Điều này cho thấy rằng bạn đã thêm dòng này trong khi đọc các tài liệu MediaWiki nhưng không xóa dòng khi bạn đã hoàn thành bản sao lưu, không liên quan đến
show processlist
7 hoặc MySQL. Khi show processlist
7 [hoặc bất kỳ máy khách nào khác] ngắt kết nối, khóa không thể nán lại ngay cả trong MySQL vì khóa chỉ có thể được giữ miễn là phiên/luồng giữ khóa vẫn được kết nối.Nếu wiki của bạn không lớn và việc wiki của bạn trở nên không phản hồi ngắn gọn trong khi bãi rác đang chạy không phải là vấn đề, thì bạn không cần phải khóa wiki. Tôi có một công việc theo lịch trình chạy đối với máy chủ MySQL chạy cài đặt MediaWiki của tôi và tôi không khóa wiki để sao lưu. Nếu wiki của bạn là quan trọng về nhiệm vụ và bạn muốn không bị gián đoạn tiềm năng, bạn cũng có thể thiết lập một nô lệ sao chép MySQL và thực hiện các bản sao lưu chống lại nô lệ thay vì chủ. Nếu máy chủ của bạn có tài nguyên cho nó, bạn có thể chạy nô lệ trên cùng một máy với chủ, trên một cổng khác ngoài 3306 mặc định.