লগ_বিন ভেরিয়েবলের সাথে মাইএসকিউএল বাইনারি লগিং অক্ষম করুন


35

ডিফল্ট মাইএসকিউএল কনফিগারেশন ফাইল /etc/mysql/my.cnf এপিটি ব্যবহার করে কিছু ডেবিয়ান প্যাকেজ দ্বারা ইনস্টল করা প্রায়শই লগ_বিন ভেরিয়েবল সেট করে, সুতরাং বিনলগ সক্ষম হয়:

log_bin = /var/log/mysql/mysql-bin.log

আমি যখন এই ধরনের ইনস্টলেশনটিতে বাইনারি লগিং নিষ্ক্রিয় করতে চাই, তখন অবশ্যই My.cnf এর লাইনে মন্তব্য করুন, তবে আমি অবাক হয়েছি যদি কোনও ডিবিয়ান স্টাইলে স্পষ্টতভাবে লগ_বিন সেট করে অফ করে বাইনারি লগিং নিষ্ক্রিয় করার কোনও উপায় থাকে তবে আমি বলতে চাইছি /etc/mysql/conf.d/myCustomFile.cnf এর মত একটি অন্তর্ভুক্ত ফাইল, সুতরাং ডিফল্ট my.cnf পরিবর্তন করা হয় না এবং প্রয়োজনে এপিটি দ্বারা সহজেই আপডেট করা যায়।

আমি "লগ_বিন = 0", "লগ_বিন = অফ" বা "লগ_বিন =" চেষ্টা করেছি তবে কিছুই কার্যকর হয় না ...

উত্তর:


42

এটি একটি পুরানো প্রশ্ন, তবে এটি সঠিক অনুসন্ধানের নামটি সম্পর্কে আমার স্মৃতিচারণ করতে গিয়ে চেষ্টা করার সময় অনুসন্ধানে উঠে এসেছিল এবং তাই এখন আমি এটি আবিষ্কার করেছি যে আমি এখানে বিশদ যুক্ত করছি।

প্রশ্নের মূল অংশটি হ'ল:

আমার অর্থ /etc/mysql/conf.d/myCustomFile.cnf এর মতো একটি অন্তর্ভুক্ত ফাইল

আপনি বিকল্পটি ব্যবহার করে অন্তর্ভুক্ত বিকল্প ফাইল থেকে এটি করতে পারেন skip-log-bin। যেমন আপনি /etc/mysql/conf.d/disable_binary_log.cnfনিম্নলিখিত বিষয়বস্তু দিয়ে তৈরি করতে পারেন :

[mysqld]
skip-log-bin

আপনি skip-অন্যান্য বিকল্পগুলিতে এটিকেও অক্ষম করতে একটি উপসর্গ হিসাবে যুক্ত করতে পারেন ।


1
দুর্দান্ত, আমি ঠিক কী আশা করছিলাম। এটি মারিয়াডিবি 10.0 এ কমপক্ষে ভালভাবে কাজ করে। অনেক ধন্যবাদ.
নিকোলাস পেয়ার্ট

7

মাইএসকিউএল ৮-এ এটি ডিজেবল_লগ_বিন অপশনটি দেওয়া my.cnfহয়েছে যা [mysqld]বিভাগের ফাইলটিতে কোনও পরামিতি ছাড়াই সরবরাহ করতে হবে ।

[mysqld]
disable_log_bin
some-other-option = any-value

5

আপনি এটি এর মতো দেখতে পারেন, লগ_বিন পরামিতিগুলি গ্রহণ করা উচিত নয়, হয় আপনি রাখেন:

log_bin

বা কিছুই কিছুই নয়, কারণ এটি একটি বুলিয়ান প্যারামিটার।

তবে, যদি কোনও মান সেট করা থাকে, লগগুলি সক্ষম করা হয় এবং মানটি বিনলগ বেসনাম হিসাবে ব্যাখ্যা করা হয়।

লগ বিকল্পগুলি খুব স্বজ্ঞাত না হওয়ার ইতিহাস রয়েছে এবং এর বিন্যাসটি সংস্করণ থেকে সংস্করণে পরিবর্তিত করার জন্য (আমি আপনাকে দেখছি, ধীর লগ)।


এটি মারিয়াডিবিতে কাজ করে না
মেকানিকটর্স

আমি মারিয়াডিবি ব্যবহার করি এবং আমার কনফিগারেশনে আমার ঠিক একই লাইন থাকে, আমি খুব আত্মবিশ্বাসী যে এটি কার্যকর works
জিনাস

4

আপনি যদি অনুলিপি না করে থাকেন তবে আপনি আমার my.ini বা my.cnf ফাইলটি পরিবর্তন করে বিনলগিং অক্ষম করতে পারেন। আপনার my.ini বা /etc/my.cnf (/etc/mysql/my.cnf) খুলুন, প্রবেশ করুন:

# vi /etc/my.cnf

"লগ_বিন" পড়ার লাইনটি সন্ধান করুন এবং এটি নীচে মুছে ফেলুন বা মন্তব্য করুন:

#log_bin = /var/log/mysql/mysql-bin.log

আপনাকে নিম্নলিখিত লাইনগুলি সরাতে বা মন্তব্য করতে হবে:

#expire_logs_days = 10

#max_binlog_size = 100M

ফাইলটি বন্ধ করে সংরক্ষণ করুন। অবশেষে, মাইএসকিএল সার্ভার পুনরায় চালু করুন:

# service mysql restart


1
আমি মনে করি ওপি এটি বুঝতে পেরেছে, সে কারণেই তিনি লিখেছেন: "আমি /etc/mysql/conf.d/myCustomFile.cnf এর মতো একটি অন্তর্ভুক্ত ফাইলে বোঝাতে চাইছি, সুতরাং ডিফল্ট my.cnf পরিবর্তন হয় না"
পিটার ভি।

1

মারিয়াডিবি- র ম্যানুয়াল থেকে ( https://mariadb.com/kb/en/library/ activating- the- binary-log/ )

যদি আপনি কোনও নাম সরবরাহ না করেন (যা optionচ্ছিকভাবে একটি নিখুঁত পাথ অন্তর্ভুক্ত করতে পারে), ডিফল্টটি হবে ডেটাডির / লগ-বেসনাম-বিন, ডাটাডির / মাইএসকিএল-বিন বা ডাটাডির / মারিয়াদব-বিন

যাহোক,

SUPER সুবিধাযুক্ত ক্লায়েন্টরা sql_log_bin ভেরিয়েবলটি সেট করে বর্তমান সেশনের জন্য বাইনারি লগটিকে অক্ষম করতে ও পুনরায় সক্ষম করতে পারে।

SET sql_log_bin = 0;

SET sql_log_bin = 1;

তবে, আপনি যদি বলেন যে এটি ডিফল্টরূপে ইনস্টলেশন চলাকালীন সক্ষম হয়েছিল, আপনাকে অবশ্যই আপনার মাই সিএনএফ ফাইল থেকে লাইনটি সরিয়ে অক্ষম করতে হবে এবং তারপরে mysqld পুনরায় আরম্ভ করতে হবে। আপনি বাইনারি ডেটাও শুদ্ধ করতে পারেন ( https://dev.mysql.com/doc/refman/5.6/en/purge-binary-logs.html )

PURGE BINARY LOGS

শেষ অবধি, অন্য পোস্টারের উত্তরে যেমন উল্লেখ করা হয়েছে, মাইএসকিউএল ৮ -তে কনফিগারেশন ফাইলের [মাইএসকিএলডি] বিভাগে --skip-log-binবা --disable-log-binঅপশনগুলি ব্যবহার করে স্পষ্টভাবে কনফিগারেশন ফাইল থেকে বাইনারি লগিং বন্ধ করার একটি বিকল্প রয়েছে ।

বাইনারি লগিং অক্ষম করতে, আপনি শুরুতে --skip-log-binবা --disable-log-binবিকল্পটি নির্দিষ্ট করতে পারেন । যদি এই বিকল্পগুলির মধ্যে দুটি নির্দিষ্ট করা --log-binহয় এবং নির্দিষ্ট করে দেওয়া হয়, তবে পরে উল্লিখিত বিকল্পটি অগ্রাধিকার নেয়। বাইনারি লগিং অক্ষম করা হয়, লগ_বিন সিস্টেম ভেরিয়েবল বন্ধ সেট করা হয়।


0

আমি যেমন প্যাকেজ আপডেট করার পরে জানি, কনফিগারেশন ফাইলটি পুরানো হওয়া উচিত, সুতরাং আপডেটের পরে আপনার একই কনফিগার ফাইল থাকবে। অন্যথায় আপনি রাস্তায় দ্বিতীয় কনফিগার ফাইল তৈরি করতে পারেন। এমওয়াইএসকিউএলহোম / মাই সিএনএফ। এটি সার্ভার নির্দিষ্ট বিকল্পগুলির জন্য এবং আমি জানি যে গ্লোবাল /etc/my.cnf এ সেটিংস ওভাররাইট করে


1
হ্যাঁ, ডেবিয়ান ডিফল্ট নীতি / ইত্যাদি ক্ষেত্রে একটি কনফিগার ফাইল ওভাররাইট করে না। তবে আমার প্রশ্নটি ঠিক কীভাবে /etc/mysql/my.cnf- এ লাইনটি মন্তব্য না করে "নাল মান" দিয়ে লগ_বিন সেটিংটি ওভাররাইট করা যায়।
নিকোলাস পেয়ার্ট

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