MySQL Backup – kopia zapasowa bazy danych Linux command line

W kategoriach: Tips and Tricks, Tagi: Linux, Linux command,

Wstęp

MySQL jest popularnym systemem zarządzania bazą danych, który można wykorzystać do przechowywania, aktualizowania i odczytywania danych. Wiele firm i organizacji używa MySQL do przechowywania informacji i danych w swoich systemach informatycznych. Z tego powodu ważne jest, aby wiedzieć, jak tworzyć i przywracać kopie zapasowe bazy danych MySQL za pomocą polecenia wiersza poleceń Linux. Ten artykuł opisuje, jak to zrobić.

Tworzenie kopii zapasowej bazy danych MySQL za pomocą polecenia wiersza poleceń Linux jest bardzo proste. Wszystko, co musisz zrobić, to wpisać polecenie mysqldump na wierszu poleceń, aby utworzyć kopię zapasową. Polecenie to pobiera dane z bazy danych MySQL i zapisuje je w pliku. Możesz określić nazwę pliku wyjściowego, a następnie użyć tego pliku do przywrócenia bazy danych.

Aby przywrócić kopię zapasową bazy danych MySQL, musisz uruchomić polecenie mysql na wierszu poleceń Linux. Następnie musisz określić nazwę pliku z kopią zapasową oraz nazwę bazy danych, do której chcesz przywrócić dane. Gdy to zrobisz, dane zostaną zaimportowane do bazy danych MySQL.

Poradzenie sobie z tworzeniem i przywracaniem kopii zapasowych bazy danych MySQL za pomocą poleceń wiersza poleceń Linux jest niezwykle proste. Wystarczy wpisać polecenie mysqldump, aby utworzyć kopię zapasową, a następnie polecenie mysql, aby przywrócić dane. Jeśli masz problemy z tworzeniem lub przywracaniem kopii zapasowych, możesz skontaktować się z firmą oferującą wsparcie techniczne dla systemu MySQL.

Tworzenie kopii zapasowej (eksport) bazy danych w wierszu poleceń linux

Aby skopiować konkretną bazę, używamy polecenia w konsoli linuxa

W przypadku gdy serwer bazy danych znajduje się się na tej samej maszynie

mysqldump -u [login] -p[password] [dbname] > [backup_dbname].sql

W przypadku połączenia zdalnego do bazy danych.

mysqldump -h [host] -u [login] -p[password] [dbname] > [backup_dbname].sql

Przywracanie kopii bazy MySQL

W celu przywrócenia kopii bazy danych należy wykonać polecenie

mysql -u [login] -p[password]  [dbname] < [backup_dbname]

Jeśli chcemy przywrócić kopię bazy danych należy dodać jako parametr -h nazwę domeny lub adres IP na jakim znajduje się serwer bazy danych.

mysql -h [host] -u [login] -p[password]  [dbname] < [backup_dbname]

Objaśnienie parametrów

[login] – nazwa użytkownika bazy danych,

[password] – hasło dla [login] do bazy danych,

[dbname] – nazwa bazy danych, której chcemy wykonać kopię,

[host] – domena lub adres IP serwera bazy danych. Dla lokalnego komputera można podać nazwę localhost lub adres IP 127.0.0.1

[backup_dbname] – nazwa pliku do jakiego zostanie zapisana baza danych

Automatyczna kopia bazy danych MySQL w CRON’ie.

#!/bin/bash
#Name: Cron Backups MySQL 
#Auhor: Paweł Kosmala
#Website: https://kuzniaebiznesu.pl/
#Version: 20230228
#Konfiguracja
dirBackups=/home/user/backups/ #ścieżk do katalogu dla kopii 
dbName=name #Użytkownik 
dbUser=user #Nazwa bazy danych
dbPass=password #Hasło 
#Wykowywanie backupu bazy danych
#Plik w którym zostanie zapisana kopia bazy danych 
fileSQL=$dirBackups"backup-$(date +%m%d%Y%H%M).sql" 
echo "Wykonanie kopie bazda danych ($dbName) do pliku $fileSQL"
mysqldump -u $dbUser -p$dbPass $dbName > $fileSQL

Dodanie zadania do CRON

W celu automatycznego wykonywania kopii bazy danych MySQL możemy wykorzystać cron’a w systemie linux. Aby dodać zadanie do crona należy wykonać następujące polecenia

crontab -e 

Następnie na końcu dodaje np. dla kopii wykonywanych codziennie o godzinie pierwszej w nocy.

1   0   *   *   * /sciezka/do_pliku/backup_mysql