Forsikre deg om at Python er installert i systemet ditt, og MySQL -serveren har en database som du vil ta sikkerhetskopi.
Hvordan du automatisk tar sikkerhetskopi av mysql -databasen ved hjelp av python?
Gå mot enhver kodeditor for å skrive Python -koden for automatisk å sikkerhetskopiere MySQL -databasen. For dette innlegget, “Visual Studio Code”Brukes:
Opprett en Python -fil som heter “Sikkerhetskopi.py”:
Importer disse nødvendige bibliotekene i begynnelsen av Python -filen:
Importer OSSkriv inn MySQL -databasen legitimasjon:
Db_host = 'your_mysql_host'Oppgi sikkerhetskopikatalogen, der MySQL -databaset sikkerhetskopi skal lagres. Sørg for å erstatte banen i henhold til systemet ditt, "D: \\ mysql_data_backup_files”Er veien for dette innlegget:
Backup_dir = 'd: \\ mysql_data_backup_files'Skriv inn "date_format”For å definere dataformatet for sikkerhetskopifilene:
date_format = '%y-%m-%d_%h-%m-%s'Sett "Backup_interval”, For å definere tiden etter at en sikkerhetskopi automatisk skal opprette:
Backup_interval = 20Merk: I dette innlegget er sikkerhetskopieringsintervallet 20 sekunder, du kan angi hvilken som helst, men det bør defineres i sekunder.
Skriv inn dette kodestykket for å formatere gjeldende tid i "date_format":
Mens sant:Definer sikkerhetskopi -filnavnet:
backup_file = f 'db_name-current_time.sql 'Definer hele banen til sikkerhetskopifilen ved å skrive følgende kode:
Backup_File_Path = OS.sti.Bli med (backup_dir, backup_file)Bruk MySQLDump -kommandoen til å opprette en sikkerhetskopifil ved å gi de nødvendige parametrene i henhold til MySQL -databasen:
mysqldump_cmd = f'mysqldump -h db_host -u db_user -p db_pass db_name> backup_file_path 'For å lagre plass på disken, komprimerer du sikkerhetskopifilen ved å bruke GZIP -verktøyet ved å skrive:
gzip_cmd = f'gzip backup_file_path 'For å fjerne de gamle sikkerhetskopifilene, bruk Find -kommandoen og slett dem. For dette innlegget, filer som er gamle enn “7”Dager blir slettet:
find_cmd = f'find backup_dir -type f -name "*.GZ "-Mtime +7 -Delete 'Til slutt, skriv dette til å vente på sikkerhetskopieringsintervallet:
tid.søvn (backup_interval)Gjennomgå filen din og sørg for at alt er i henhold til systemet ditt og MySQL -databasen. Lagre filen ved å trykke på “Ctrl + s”:
Kjør filen ved å åpne terminalen eller ledeteksten i denne katalogen og skrive:
Python.EXE -sikkerhetskopi.pyGå til katalogen for å bekrefte at sikkerhetskopifiler opprettes etter hver "20 sekunder”Som det var sikkerhetskopieringsintervallet:
Det er synlig i utdata at sikkerhetskopieringsfiler opprettes automatisk.
Konklusjon
For automatisk å sikkerhetskopiere MySQL -databaser ved hjelp av Python. Opprett en Python -fil, og oppgi MySQL -databasedetaljer, sikkerhetskopieringsintervall, dato og filnavnformat. Bruk MySqldump -kommandoen til å opprette sikkerhetskopifiler og gzip for å komprimere dem. Utfør filen for å starte sikkerhetskopieringsprosessen. Denne guiden demonstrerer prosessen med å lage sikkerhetskopieringsfiler av MySQL -databasen automatisk.