উত্তর:
মাইএসকিউএল 5.5.30 এ চালু হয়েছিল এমন একটি সেটিং রয়েছে: ইনোডাব_প্রিন্ট_ল_এডলকস
এই বিকল্পটি সক্ষম করা থাকলে, InnoDB ব্যবহারকারীর লেনদেনের সমস্ত ডেডলক সম্পর্কিত তথ্য মাইএসকিএলডি ত্রুটি লগতে রেকর্ড করা হয়। অন্যথায়, আপনি কেবলমাত্র শেষ অচলাবস্থার তথ্য দেখুন, ইঞ্জিন INNODB পরিস্থিতি প্রদর্শন করুন command একটি অনিয়মিত InnoDB অচলাবস্থা কোনও সমস্যা নয়, কারণ InnoDB তত্ক্ষণাত শর্তটি সনাক্ত করে এবং লেনদেনগুলির মধ্যে একটি স্বয়ংক্রিয়ভাবে পিছনে যায়। রোলব্যাক সনাক্ত করতে এবং এর ক্রিয়াকলাপটি পুনরায় চেষ্টা করার জন্য যদি কোনও অ্যাপ্লিকেশনটিতে যথাযথ ত্রুটি-পরিচালনার যুক্তি না থাকে তবে ডেডলকগুলি কেন ঘটছে তা সমস্যা সমাধানের জন্য আপনি এই বিকল্পটি ব্যবহার করতে পারেন। বিপুল সংখ্যক ডেডলকগুলি লেনদেনগুলির পুনর্গঠন করার প্রয়োজনকে নির্দেশ করতে পারে যা ডিএমএল জারি করে বা একাধিক টেবিলের জন্য বিবরণ আপডেট করার জন্য ... নির্বাচন করুন, যাতে প্রতিটি লেনদেন একই ক্রমে টেবিলগুলিতে অ্যাক্সেস করে, যাতে এই অচলাবস্থাটি এড়ানো যায়।
এই সেটিংটি কেবল এতে যুক্ত করুন my.cnf
[mysqld]
innodb_print_all_deadlocks = 1
অথবা
[mysqld]
innodb_print_all_deadlocks = on
আপনাকে মাইএসকিএল পুনরায় আরম্ভ করতে হবে না। শুধু মাইএসকিএল এ লগইন করুন এবং চালান
mysql> SET GLOBAL innodb_print_all_deadlocks = 1;
or
mysql> SET GLOBAL innodb_print_all_deadlocks = 'ON';
এই সেটিংটি আমার কাছেও নতুন।
এটি ব্যবহার করে দেখুন এবং আপনার মতামত আমাদের জানান !!!
mysql.user
চালাতে পারবেন না তা নিশ্চিত করতে তারা ট্রিগার ব্যবহার করে FLUSH PRIVILEGES;
।