Hestiacp - სამართავი პანელი მონაცემთა ბაზიდან ბინარული ლოგების ავტომატურად გასუფთავება | www.Lider.ge

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 + XYEnter

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

მაგრამ გაითვალისწინეთ — ამ პარამეტრის მითითებისას ვეღარ გამოიყენებთ ბინარულ ლოგებს სარეზერვო ან რეპლიკაციისთვის.


გაითვალისწინეთ: ბინარული ლოგების სწორი მართვა მნიშვნელოვანია არა მხოლოდ დისკის ეკონომიისთვის, არამედ სერვერის სტაბილური მუშაობისთვის.

Leave a comment

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო. აუცილებელი ველები მონიშნულია *