Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

खोए/डिस्कनेक्ट किए गए कनेक्शन के साथ लेनदेन पर MySQL रोलबैक

जब आप किसी क्लाइंट को शारीरिक रूप से डिस्कनेक्ट कर रहे होते हैं तो आप एक सामान्य डिस्कनेक्ट नहीं भेज रहे होते हैं (जिसके कारण रोलबैक होता है) और MySQL प्रोटोकॉल बहुत बातूनी नहीं है, इसलिए सर्वर कभी नहीं जानता कि क्लाइंट वहां नहीं है। मुझे लगता है कि यह अन्य डेटाबेस सिस्टम की तुलना में प्रोटोकॉल में एक दोष है जहां क्लाइंट और सर्वर आंतरिक रूप से बहुत अधिक बात करते हैं।

फिर भी। दो चर हैं जिन्हें आप बदल सकते हैं। वे मूल रूप से वही करते हैं लेकिन विभिन्न ग्राहकों के लिए।

पहला है wait_timeout और इसका उपयोग जावा या 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. MySQL utf8_general_ci फ़ील्ड में बैठे डबल-एन्कोडेड UTF-8 स्ट्रिंग्स को कैसे ठीक करें?

  2. क्या डिफ़ॉल्ट मान के रूप में अभिव्यक्ति के साथ MySQL में एक कॉलम बनाना संभव है?

  3. बटन क्लिक पर MySQL डेटाबेस से HTML टेक्स्टबॉक्स में डेटा लोड करें

  4. SQLite और कस्टम ऑर्डर द्वारा

  5. MySQL REPLACE:एक ही सिर और पूंछ द्वारा सीमांकित प्रत्येक विशिष्ट सबस्ट्रिंग में एक चार की सभी घटनाओं को कैसे बदलें