Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách giải quyết MySQL innodb Đang chờ khóa siêu dữ liệu bảng trên TRUNCATE TABLE?

Vấn đề ở đây có vẻ đủ đơn giản.

---TRANSACTION 7490, ACTIVE 3047 sec
MySQL thread id 189, OS thread handle 0x7f03be9fb700, query id 3840 10.0.2.1 root cleaning up
Trx read view will not see trx with id >= 7491, sees < 7491
---

Luồng 189 (một kết nối máy khách) không hoạt động và như vậy đã được một thời gian, nhưng nó đã để lại một giao dịch đang chạy. Đây có thể là một lỗi trong mã đang sử dụng cơ sở dữ liệu, vì không có ý nghĩa gì nếu để một giao dịch đang chạy diễn ra trong gần một giờ.

mysql> KILL 189;

Điều đó sẽ giải phóng khóa siêu dữ liệu ... nhưng bạn cần tìm hiểu lý do tại sao điều này lại xảy ra. Bad Things ™ sẽ xảy ra nếu một ứng dụng không hoạt động tốt hơn điều này.

Ngoài ra ... ứng dụng của bạn không được kết nối bằng root . Không liên quan đến vấn đề, nhưng không tốt, nếu đó là điều này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql chậm trên truy vấn đầu tiên, sau đó nhanh cho các truy vấn liên quan

  2. Laravel $ q-> where () giữa các ngày

  3. Sách hướng dẫn cài đặt MySQL Ansible Idempotent

  4. tạo ngày từ phạm vi ngày

  5. Hiểu các giao dịch mysql pdo