Jak automatycznie tworzyć kopię zapasową bazy danych MySQL za pomocą Pythona

Jak automatycznie tworzyć kopię zapasową bazy danych MySQL za pomocą Pythona
Ze nadwyżką danych bazy danych stają się ogromne i kluczowe dla poniesienia utraty danych. Więc MySQL, który jest popularnym RDBMS, zapewnia narzędzie klienta MySQLDump do tworzenia logicznej kopii zapasowej baz danych. Użytkownik może użyć polecenia mysqldump w dowolnym skrypcie, aby utworzyć automatyczną kopię zapasową baz danych mysql. Ponieważ MySQL obsługuje wiele języków, ten post omówi, jak automatycznie zapasować bazę danych MySQL za pomocą Python, która jest popularnym językiem na żądanie.

Upewnij się, że Python jest zainstalowany w twoim systemie, a MySQL Server ma bazę danych, którą chcesz wykonać kopię zapasową.

Jak automatycznie tworzyć kopię zapasową bazy danych MySQL za pomocą Pythona?

Skieruj się do dowolnego edytora kodu, aby napisać kod Python, aby automatycznie zapasować kopię zapasową bazy danych MySQL. W tym poście „Kod Studio Visual" jest używany:

Utwórz plik Python o nazwie „kopia zapasowa.py”:

Zaimportuj te wymagane biblioteki na początku pliku Python:

Import OS
czas importu

Wprowadź poświadczenia bazy danych MySQL:

Db_host = 'your_mysql_host'
Db_user = „your_mysql_username”
Db_pass = 'your_mysql_password'
Db_name = 'your_database_name'

Podaj katalog tworzenia kopii zapasowych, w którym powinien zapisać kopię zapasową bazy danych MySQL. Pamiętaj, aby wymienić ścieżkę zgodnie z systemem „D: \\ mysql_data_backup_files„Jest ścieżką tego postu:

Backup_dir = 'd: \\ mysql_data_backup_files'

Wejdz do "format daty„Aby zdefiniować format danych dla plików kopii zapasowej:

date_format = '%y-%m-%d_%h-%m-%s'

Ustaw "Backup_Interval”, Aby zdefiniować czas, po którym kopia zapasowa powinna automatycznie utworzyć:

Backup_interval = 20

Notatka: W tym poście interwał kopii zapasowej wynosi 20 sekund, możesz ustawić dowolny, ale należy go zdefiniować w sekundach.

Wpisz ten kawałek kodu, aby sformatować bieżący czas w „Date_format”:

Choć prawda:
current_time = czas.Strftime (date_format)

Zdefiniuj nazwę pliku kopii zapasowej:

backup_file = f 'db_name-current_time.SQL '

Zdefiniuj pełną ścieżkę pliku kopii zapasowej, wpisując następujący kod:

Backup_file_path = OS.ścieżka.dołącz (Backup_dir, Backup_file)

Użyj polecenia MySQLDUMP, aby utworzyć plik kopii zapasowej, podając wymagane parametry zgodnie z bazą danych MySQL:

mysqldump_cmd = f'mysqldump -h db_host -u db_user -p db_pass db_name> backup_file_path '
OS.System (mysqldump_cmd)

Aby zaoszczędzić miejsce na dysku, skompresuj plik kopii zapasowej za pomocą narzędzia GZIP, wpisując:

gzip_cmd = f'Gzip backup_file_path '
OS.system (gzip_cmd)

Aby usunąć stare pliki kopii zapasowej, użyj polecenia Znajdź i usuń je. W tym poście pliki, które są stare niż „7„Dni zostaną usunięte:

find_cmd = f'find backup_dir -type f -name "*.GZ "-MTime +7 -Delete '
OS.System (find_cmd)

Na koniec wpisz to, aby poczekać na interwał kopii zapasowej:

czas.sleep (backup_interval)

Przejrzyj swój plik i upewnij się, że wszystko jest zgodnie z systemem i bazą danych MySQL. Zapisz plik, naciskając „Ctrl + s”:

Uruchom plik, otwierając terminal lub wiersz polecenia w tym katalogu i pisanie:

pyton.kopia zapasowa exe.py

Przejdź do katalogu, aby potwierdzić, że pliki kopii zapasowych są tworzone po każdym „20 sekund„Ponieważ był to interwał zapasowy:

W wyjściu jest widoczne, że pliki kopii zapasowych są tworzone automatycznie.

Wniosek

Aby automatycznie utworzyć kopię zapasową baz danych MySQL za pomocą Pythona. Utwórz plik Pythona i podaj szczegóły bazy danych MySQL, format nazwy kopii zapasowej, datę i format nazwy plików. Użyj polecenia MySQLDUMP, aby utworzyć pliki kopii zapasowych i GZIP, aby je kompresować. Wykonaj plik, aby rozpocząć proces kopii zapasowej. Ten przewodnik pokazuje proces tworzenia plików kopii zapasowych automatycznie.