মাইএসকিউএল-এ লগিন_বিন_স্টাস্ট_ফাংশন_ক্রিটর ব্যবহার করুন


14

এর ব্যবহার কী log_bin_trust_function_creators? এছাড়াও, পরামিতিটির মানটি কি গতিশীল? আমি যদি আমার মাইএসকিউএল পরিষেবাটি পুনরায় চালু করি তবে তা কি পরিবর্তন হবে?

উত্তর:


14

এই পরিবর্তনশীলটি নিয়ন্ত্রণ করে যে বাইনারি লগিংটি অনিরাপদ ইভেন্টগুলির কারণ হিসাবে সঞ্চিত ফাংশন তৈরি না করার জন্য সঞ্চিত ফাংশন স্রষ্টাদের বিশ্বাস করে কিনা। যেমন। ইউআইডি ফাংশন রয়েছে।

ডকুমেন্টেশনে এটি ভালভাবে ব্যাখ্যা করা হয়েছে:

আপনি যখন কোনও সঞ্চিত ফাংশন তৈরি করেন, আপনাকে অবশ্যই তা ঘোষণা করতে হবে যে এটি নির্বিচারক বা এটি ডেটা পরিবর্তন করে না ify অন্যথায়, এটি তথ্য পুনরুদ্ধার বা প্রতিরূপের জন্য অনিরাপদ হতে পারে।

ডিফল্টরূপে, একটি ক্রিয়েট ফাংশন স্বীকৃতি স্বীকার করার জন্য, কমপক্ষে একটি ডিটর্মিনিস্টিক, ন এসকিউএল, বা এসএকিউএল ডেটা স্পষ্টভাবে নির্দিষ্ট করতে হবে। অন্যথায় একটি ত্রুটি ঘটে:

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

ফাংশন তৈরির পূর্ববর্তী শর্তগুলি শিথিল করার জন্য (যে আপনার কাছে অবশ্যই সুপারের অধিকার থাকতে হবে এবং কোনও ফাংশনটি অবশ্যই ডিটারমিনিস্টিক হিসাবে ঘোষণা করতে হবে বা ডেটা পরিবর্তন করতে হবে না), গ্লোবাল লগ_বিন_স্রাস্ট_ফানশন_ক্রিটর সিস্টেম ভেরিয়েবল 1 এ সেট করুন।

তথ্যসূত্র: মাইএসকিএল-ডকুমেন্টেশন (এটি উদাহরণ হিসাবে ব্যাখ্যা হিসাবে এটি পড়ুন।)

আপনার দ্বিতীয় প্রশ্ন সম্পর্কে, যদি এটি গতিশীল হয় এবং আপনি সার্ভারটি পুনরায় চালু করলে এটি পরিবর্তন হবে:

  • হ্যাঁ এটি একটি গতিশীল পরিবর্তনশীল।

  • পরিবর্তনটি প্রতিফলিত করার জন্য কনফিগারেশন আপডেট না করা হলে পুনরায় চালু হওয়ার পরে পরিবর্তনশীলটি পরিবর্তিত হবে।

তথ্যসূত্র: মাইএসকিএল-ডকুমেন্টেশন-আবার


এটি একটি বুলিয়ান মান লাগে? ডান এটি আমার জন্য সত্য সেট করা আছে .. তার মানে এটি '1'?
tesla747

mysql> select if(1 is true,'TRUE','FALSE')\G *************************** 1. row *************************** if(1 is true,'TRUE','FALSE'): TRUE
mysql_user

ঠিক আছে আমি বুঝতে পারি। তবে বিশেষত সেই প্যারামিটারের জন্য এটি কি '1' এ পরিবর্তন করা দরকার? এখন যেহেতু আমি এটি সত্য হিসাবে সেট করেছি, যখন আমি
মাইএসকিএল

1
সেটা ঠিক! সুতরাং এটি অবিরাম রাখতে আপনার মাই সিএনএফ ফাইলটিতেও একই কনফিগারেশন মানটি রাখা উচিত।
mysql_user 12

1
@ tesla747 হ্যাঁ ... বাইনারি লগিং সক্ষম করার সময় এটি প্রয়োগ হয়।
mysql_user
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.