Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kembalikan MySQL pada transaksi dengan koneksi yang hilang/terputus

Ketika Anda secara fisik memutuskan klien, Anda tidak mengirim pemutusan normal (yang akan menyebabkan rollback) dan protokol MySQL tidak terlalu cerewet sehingga server tidak pernah tahu bahwa klien tidak ada di sana. Saya pikir ini adalah kekurangan dalam protokol ketika membandingkan dengan sistem database lain di mana klien dan server berbicara lebih banyak secara internal.

Bagaimanapun. Ada dua variabel yang bisa Anda ubah. Mereka pada dasarnya melakukan hal yang sama tetapi untuk klien yang berbeda.

Yang pertama adalah wait_timeout dan digunakan oleh klien aplikasi seperti java atau php.

Yang lainnya adalah interactive_timeout dan digunakan oleh klien mysql (seperti dalam pengujian Anda)

Dalam kedua kasus, server mematikan koneksi setelah beberapa detik dan ketika melakukannya, mengembalikan semua transaksi dan melepaskan semua kunci.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengaktifkan INNODB di mysql

  2. #1139 - Mendapat kesalahan 'operator operator pengulangan tidak valid' dari regexp

  3. Dapatkan tanggal pertama dan terakhir bulan depan di MySQL

  4. Mengapa INSERT IGNORE menambah kunci utama auto_increment?

  5. Duplikasi UUID MySql BUG