حل مشكلة امتلاء القرص الصلب بسبب MySQL Binary Log
المرفقات 1
المشكلة:- ملفات بإحجام كبيرة يصل حجم كل ملف 1 GB وشوية بداخل var/lib/mysql وتكون هذه الملفات بأسماء مثل mysql-bin.000001 و mysql-bin.00002 ..الخ الخ. في حالة كان var بارتشن خاص فراح تاكل كل البارتشن واذا كان var ضمن البارتشن / فانفس الشيء راح تاكل كمية كبيرة من القرص. وايضاً سوف تتوقف القواعد وخادم mysql لانة لايستطيع ايجاد مساحة للكتابة فيها واذا كان var ضمن البارتشن / احتمال كبير تتوقف معظم وظائف النظام في حالة الامتلاء الكامل للقرص الصلب. ماهية هذه الملفات:- هذه الملفات عبارة عن ملفات LOG او تسجيل بصيغة Binary. تقوم هذه الملفات بتسجيل جميع الأحداث التي تحصل في mysql والكشوفات التي يتم تحديثها او التي قد تم فعلاً تحديثها. ايضاً من الممكن استخدامها لتقوم بتسجيل جميع الاستعلامات التي تحصل في mysql. الغرض من هذه الملفات:-
حل هذه المشكلة:-
الطريقة: قم بالدخول على السيرفر بالمستخدم root كالعادة. 1- نذهب إلى المجلد الذي يحتوي على القواعد, بالإضافة إلى امر عرض المحتويات. كود:
root@linux:$ cd /var/lib/mysql/ && ls -la كود:
root@linux:$ total XXXXXXXXXXXX كود:
root@linux:$ nano /etc/my.cnf كود:
log_bin = /var/log/mysql/mysql-bin.log كود:
#log_bin = /var/log/mysql/mysql-bin.log نقوم بحفظ الملف, ثم اعادة تشغيل لخادم mysql عبر الامر كود:
root@linux:$ service mysql restart كود:
root@linux:$ cd /var/lib/mysql/ && /usr/bin/mysqlcheck -or --all-databases && service mysql restart && chattr -i mysql-bin* && rm -rf mysql-bin* && /usr/bin/mysqlcheck -or --all-databases && service mysql restart && ls -la وبعد الانتهاء سوف يظهر لنا ناتج بالشكل التالي كود:
root@linux:$ total XXXXXXXXXXXX كود:
root@linux:$ df -h اطيب تحية مصطفى البازي. :evil: |
السلام عليكم
تمام يا درش واعتقد ممكن تتعمل بطريقه Purge Master Logs جزاك الله خيرا |
نعم رامي ممكن عمل ذالك وهية الطريقة الموفرة من قبل MySQL
خصوصاً اذا كنت تستخدم كذا سيرفر للقواعد ولكن في الحالة الافتراضية ممكن حذفها هنا معلومات حول عملية التطهير Purge http://dev.mysql.com/doc/refman/5.0/...nary-logs.html شكراً لك مصطفى. |
اولااحب اشكرك على الموضوع الرائع و على الشرح الاروع
لكن فى شئ بسيط اولا انا لما دخلت على الشل و فتحت ملف ال mySQL my.cnf لم اجد log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 500M ما وجدته فقط [mysqld] skip-bdb skip-innodb set-variable=local-infile=0 safe-show-database وجد 4 اسطر ليس لها علاقة و عملت بحث عنهم و لم اجدهم ثانيا اما فتحت /var/lib/mysql/ و جدت فعلا ملفات كثيرة و احجامها كبيرة جدا و وجدت ايضا جميع قواعد بيانات العملا للى بالسيرفر هل هذا الطريقة ستؤثر على القواعد او تحدث بها اى مشكل فى الانتظار و شكرا لك مرة اخرى |
إقتباس:
هذا يعني انها غير مفعلة لديك, وايضاً mysql بحاجة إلى اعدادات بخصوص var/lib/mysql هو المجلد الذي يحتوي على جميع القواعد الخاصة باليوزرات والروت ..الخ وايضاً يحتوي على بعض ملفات اللوج وملف السوكت الخاص بال mysql تحياتي مصطفى. |
تسلم ايدك يا مصطفى
مبدع دايما ض1 |
تسلم اخوي علي الجميل
ويجزيك ربي بكل خير |
شكرا لك أستاذ مصطفى
فعلا درس رائع و اﻷاروع هو حضورنا معك هنا |
جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 02:17 AM. |
Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © ArabWebTalk.Com 2004-2012