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

MySQL khôi phục trên giao dịch với kết nối bị mất / ngắt kết nối

Khi bạn ngắt kết nối vật lý với một ứng dụng khách, bạn sẽ không gửi một ngắt kết nối bình thường (điều này có thể gây ra sự cố khôi phục) và giao thức MySQL không phải là trò chuyện nhiều nên máy chủ không bao giờ biết rằng ứng dụng khách không có ở đó. Tôi nghĩ rằng đây là một lỗ hổng trong giao thức khi so sánh với các hệ thống cơ sở dữ liệu khác, nơi máy khách và máy chủ nói chuyện nội bộ nhiều hơn.

Dù sao thì. Có hai biến mà bạn có thể thay đổi. Về cơ bản, chúng thực hiện giống nhau nhưng đối với các khách hàng khác nhau.

Đầu tiên là wait_timeout và nó được sử dụng bởi các ứng dụng khách như java hoặc php.

Cái kia là tương tác_timeout và nó được ứng dụng khách mysql sử dụng (như trong các thử nghiệm của bạn)

Trong cả hai trường hợp, máy chủ ngắt kết nối sau một vài giây và khi làm như vậy sẽ khôi phục tất cả các giao dịch và giải phóng tất cả các khóa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LỆNH LỆNH Truy vấn MySQL BẰNG các giá trị nhất định trước các giá trị khác

  2. Mối quan hệ bảng cho các kiểu con

  3. Làm cách nào để cắt bớt một bảng bằng Doctrine 2?

  4. Tại sao `log_slow_queries` phá vỡ` my.cnf`?

  5. Lỗi 1215:Không thể thêm ràng buộc khóa ngoại