Mysql
 sql >> база данни >  >> RDS >> Mysql

Отмяна на MySQL при транзакция със загубена/прекъсната връзка

Когато физически прекъсвате връзката с клиент, вие не изпращате нормално прекъсване на връзката (което би причинило връщане назад) и MySQL протоколът не е много бъбрив, така че сървърът никога не знае, че клиентът не е там. Мисля, че това е недостатък в протокола, когато се сравнява с други системи за бази данни, където клиентът и сървърът говорят вътрешно много повече.

Така или иначе. Има две променливи, които можете да промените. Те по същество правят същото, но за различни клиенти.

Първият е wait_timeout и се използва от клиенти на приложения като java или php.

Другият е interactive_timeout и се използва от mysql клиента (както във вашите тестове)

И в двата случая сървърът прекъсва връзката след няколко секунди и при това връща всички транзакции и освобождава всички заключвания.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намерете група записи, които отговарят на множество стойности

  2. Laravel вложени връзки

  3. WEEK() Примери – MySQL

  4. Как да добавя префикс на всички таблици в mysql

  5. UTF-8:показва се правилно в базата данни, но не и в HTML, въпреки набора от знаци utf-8