حل مشكلة امتلاء المساحة بسبب ملفات Binlog في MySQL

حل مشكلة امتلاء المساحة بسبب ملفات Binlog في MySQL
إذا كنت تواجه مشكلة امتلاء المساحة بسرعة بسبب ملفات Binlog، فإليك بعض الحلول الفعالة:
تقليل العمليات المسجلة في Binlog
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # تغيير هذا السطر: binlog_format = MIXED # ثم إعادة تشغيل MySQL: sudo systemctl restart mysql
تقليل مدة الاحتفاظ بالملفات
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # إضافة السطر التالي: expire_logs_days = 0 # إعادة تشغيل MySQL: sudo systemctl restart mysql
ضبط حجم Binlog ليكون أصغر
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # إضافة السطر التالي: max_binlog_size = 50M # إعادة تشغيل MySQL: sudo systemctl restart mysql
حذف الملفات القديمة تلقائيًا
mysql -u root -p -e "PURGE BINARY LOGS BEFORE NOW() - INTERVAL 1 HOUR;"
تعطيل Binlog نهائيًا (إذا لم يكن مطلوبًا)
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # تعليق هذا السطر: #log_bin = /var/lib/mysql/binlog # إعادة تشغيل MySQL: sudo systemctl restart mysql
بهذه الحلول يمكنك التحكم في ملفات Binlog ومنعها من استهلاك المساحة بسرعة.
حل مشكلة امتلاء المساحة بسبب ملفات binlog في MySQL
إذا كنت تواجه مشكلة امتلاء الهارد ديسك بسبب ملفات binlog في MySQL، فإليك الحل.
mysql -u root -p -e "PURGE BINARY LOGS BEFORE NOW() - INTERVAL 7 DAY;"
يمكنك أيضًا تعطيل binlog إذا لم تكن بحاجة إليه بتعديل ملف my.cnf.
[mysqld]
skip-log-bin
بعد التعديل، أعد تشغيل MySQL:
systemctl restart mysql