MySQL-ში ბინარული ლოგების ავტომატური წაშლის გააქტიურება
MySQL-ს აქვს ფუნქციონალი, რომელიც საშუალებას გაძლევთ ბინარული ლოგები (binary logs) წაიშალოს ავტომატურად განსაზღვრული დროის შემდეგ. ეს მნიშნელოვანია იმ შემთხვევაში, როცა სერვერზე ადგილი სწრაფად ივსება და არ ხდება ბინარული ლოგების ხელით წმენდა.
✅ როგორ ჩავრთოთ ბინარული ლოგების ავტომატური წაშლა expire_logs_days
პარამეტრით
1. გახსენით MySQL-ის კონფიგურაციის ფაილი
Ubuntu/Debian სისტემებზე MySQL-ის მთავარი კონფიგურაციის ფაილი მდებარეობს:
/etc/mysql/my.cnf
ან
/etc/mysql/mysql.conf.d/mysqld.cnf
დააჭირეთ ფაილის გასახსნელად:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
2. მოძებნეთ ან დაამატეთ [mysqld]
სექცია:
ფაილში უნდა იარსებდეს ან უნდა დაემატოს შემდეგი სექცია:
[mysqld]
3. დაამატეთ პარამეტრი expire_logs_days
:
[mysqld] სექციის ქვეშ ჩაწერეთ:
expire_logs_days = 7
ეს ნიშნავს, რომ ყველა ბინარული ლოგი, რომელიც 7 დღეზე ძველია, ავტომატურად წაიშლება.
4. შეინახეთ ფაილი და დახურეთ:
nano
რედაქტორში ეს კეთდება:
Ctrl + X
→Y
→Enter
5. გადატვირთეთ MySQL სერვისი:
sudo systemctl restart mysql
ან
sudo service mysql restart
✅ როგორ გადაამოწმოთ პარამეტრი:
შედით MySQL-ში:
mysql -u root -p
შემდეგ შეამოწმეთ პარამეტრი:
SHOW VARIABLES LIKE 'expire_logs_days';
თუ გამოჩნდა:
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 7 |
+------------------+-------+
ესეიგი წარმატებით იმუშავებს ავტომატური წაშლა.
⚠️ როგორ წავშალოთ ბინარული ლოგები ხელით
ყველა ბინარული ლოგის წაშლა (გარდა ერთისა):
PURGE BINARY LOGS TO 'mysql-bin.000001';
ყველა ლოგის ერთდროულად წაშლა:
RESET MASTER;
ალტერნატიული წაშლა დროის მიხედვით:
PURGE BINARY LOGS BEFORE NOW();
⚠️ ყურადღება: ბინარული ლოგების წაშლა რეპლიკაციის შემთხვევაში უნდა მოხდეს ფრთხილად. თუ რეპლიკაცია იყენებს ამ ლოგებს, მათი წაშლა გამოიწვევს დეზინქრონიზაციას.
📊 დისკის მდგომარეობის შემოწმება:
df -h
ამ ბრძანებით ნახავთ, რამდენია თავისუფალი ადგილი სისტემაში.
თუ გსურთ, რომ ბინარული ლოგირება მთლიანად გამორთოთ, [mysqld]
სექციაში შეგიძლიათ დაამატოთ ეს ხაზი:
skip-log-bin
მაგრამ გაითვალისწინეთ — ამ პარამეტრის მითითებისას ვეღარ გამოიყენებთ ბინარულ ლოგებს სარეზერვო ან რეპლიკაციისთვის.
გაითვალისწინეთ: ბინარული ლოგების სწორი მართვა მნიშვნელოვანია არა მხოლოდ დისკის ეკონომიისთვის, არამედ სერვერის სტაბილური მუშაობისთვის.