কম্পিউটার

বর্তমান MySQL লেনদেনের কি হবে যদি সেশনটি DBA দ্বারা নিহত হয়?


ধরুন যদি একটি লেনদেনের মাঝখানে একটি সেশন বন্ধ হয়ে যায় তাহলে সেই বর্তমান MySQL লেনদেন MySQL দ্বারা রোলব্যাক হবে এবং শেষ হবে৷ এর অর্থ হল বর্তমান লেনদেনে করা সমস্ত ডাটাবেস পরিবর্তন মুছে ফেলা হবে। এটিকে বলা হয় n অন্তর্নিহিত রোলব্যাক যখন সেশনটি মারা যায়।

উদাহরণ

ধরুন আমাদের টেবিলের 'চিহ্ন'

-এ নিম্নলিখিত মান রয়েছে
mysql> চিহ্ন থেকে * নির্বাচন করুন;+------+---------+----------+------+ আইডি | নাম | বিষয় | মার্কস |+------+---------+------------+-------+| 1 | আরাভ | গণিত | 50 || 1 | হর্ষিত | গণিত | 55 || 3 | গৌরব | কম | 69 || 4 | রাহুল | ইতিহাস | 40 || 5 | যশরাজ | ইংরেজি | 48 || 6 | মানক | ইতিহাস | 70 |+------+---------+---------+---------+6 সারি সেটে (0.00 সেকেন্ড) 

এখন আমরা একটি নতুন লেনদেন শুরু করি এবং টেবিল ‘মার্কস’

থেকে একটি সারি মুছে ফেলি
mysql> লেনদেন শুরু করুন; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড) mysql> চিহ্নগুলি থেকে মুছুন যেখানে id =4; কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.00 সেকেন্ড)

কমিট বা রোলব্যাক করার আগে, MySQL-এর অন্য একটি উদাহরণ চালানোর জন্য অন্য উইন্ডোটি খুলুন এবং নিম্নরূপ শো প্রসেসলিস্ট কমান্ডটি চালান -

mysql> শো প্রসেসলিস্ট\G**************************** 1. সারি *********** **************** আইডি:2 ব্যবহারকারী:রুট হোস্ট:স্থানীয় হোস্ট:49303 db:queryCommand:ঘুমের সময়:22 রাজ্য:তথ্য:NULL********** ******************* 2. সারি *************************** Id:3 ব্যবহারকারী:রুট হোস্ট:স্থানীয় হোস্ট:49350 db:NULLC কমান্ড:কোয়েরি সময়:0 রাজ্য:NULL তথ্য:সেটে প্রসেসলিস্ট 2 সারি দেখান (0.00 সেকেন্ড) 

এখন, নিম্নোক্তভাবে KILL কমান্ড চালিয়ে বর্তমান লেনদেনটি বন্ধ করুন -

mysql> KILL 2; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড)

এখন, যখন আমরা বর্তমান লেনদেনে ফিরে আসি এবং COMMIT কমান্ডটি অনুসরণ করা হয় -

mysql> COMMIT;ERROR 2006 (HY000):MySQL সার্ভার চলে গেছে কোন সংযোগ নেই। পুনরায় সংযোগ করার চেষ্টা করা হচ্ছে... সংযোগ আইডি:4 বর্তমান ডাটাবেস:queryQuery ঠিক আছে, 0 সারি প্রভাবিত (1.01 সেকেন্ড)

উপরের KILL কমান্ড, যা বর্তমান সেশনকে মেরে ফেলেছে, MySQL কে বর্তমান লেনদেনে করা পরিবর্তনগুলি ফিরিয়ে আনতে বাধ্য করে। নিম্নলিখিত ক্যোয়ারী থেকে এটি লক্ষ্য করা যায় যে টেবিল 'চিহ্ন' থেকে কোনো সারি মুছে ফেলা হয়নি।

mysql> চিহ্ন থেকে * নির্বাচন করুন;+------+---------+----------+------+ আইডি | নাম | বিষয় | মার্কস |+------+---------+------------+-------+| 1 | আরাভ | গণিত | 50 || 1 | হর্ষিত | গণিত | 55 || 3 | গৌরব | কম | 69 || 4 | রাহুল | ইতিহাস | 40 || 5 | যশরাজ | ইংরেজি | 48 || 6 | মানক | ইতিহাস | 70 |+------+---------+---------+---------+6 সারি সেটে (0.00 সেকেন্ড) 
  1. MySQL ক্যোয়ারীতে <> এর অর্থ কি?

  2. MySQL DECIMAL(x,0) এর পরিসর কত?

  3. MySQL এ EXCEPT এর সমতুল্য কি?

  4. মাইএসকিউএল ওরফে শর্টহ্যান্ড কি?