Hvordan du automatisk tar sikkerhetskopi av mysql -databasen ved hjelp av python

Hvordan du automatisk tar sikkerhetskopi av mysql -databasen ved hjelp av python
Med overskuddet av data i dag, blir databaser massive og avgjørende for å bære noe tap av data. Så MySQL, som er en populær RDBMS, gir en MySQLDump -klientverktøy for å lage en logisk sikkerhetskopi av databaser. Brukeren kan bruke MySQLDump -kommandoen i et hvilket som helst skript for å lage en automatisk sikkerhetskopi av MySQL -databaser. Siden MySQL støtter mange språk, vil dette innlegget diskutere hvordan du automatisk kan sikkerhetskopiere en MySQL-database ved hjelp av Python, som er et populært etterspurt språk.

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 OS
Importer tid

Skriv inn MySQL -databasen legitimasjon:

Db_host = 'your_mysql_host'
Db_user = 'your_mysql_usname'
Db_pass = 'your_mysql_password'
Db_name = 'your_database_name'

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 = 20

Merk: 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:
Current_time = Time.strftime (date_format)

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 '
OS.system (mysqldump_cmd)

For å lagre plass på disken, komprimerer du sikkerhetskopifilen ved å bruke GZIP -verktøyet ved å skrive:

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

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 '
OS.system (find_cmd)

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.py

Gå 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.