MySQL Backup – kopia zapasowa bazy danych Linux command line

W kategoriach: Linux dla Developerów,

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

F.A.Q. dla MySQL Backup – kopia zapasowa bazy danych Linux command line


Czym jest przekierowanie 301 i kiedy je stosować?

Przekierowanie 301 to stałe przekierowanie informujące przeglądarki i wyszukiwarki, że dana strona została trwale przeniesiona pod nowy adres URL. Stosuje się je, gdy chcemy, aby użytkownicy oraz roboty wyszukiwarek korzystali z nowego adresu, a stary został usunięty z indeksu. Przekierowanie 301 przekazuje również wartość SEO ze starego adresu na nowy, co pomaga w utrzymaniu pozycji w wynikach wyszukiwania.


Czym różni się przekierowanie 302 od 301?

Przekierowanie 302 to tymczasowe przekierowanie informujące, że dana strona została przeniesiona pod inny adres tylko na pewien czas. W przeciwieństwie do przekierowania 301, 302 nie przekazuje pełnej wartości SEO na nowy adres, ponieważ zakłada się, że stary adres będzie w przyszłości ponownie aktywny.


Kiedy stosować przekierowanie 303?

Przekierowanie 303 jest używane po przesłaniu formularza metodą POST, aby przekierować użytkownika na inną stronę za pomocą metody GET. Zapobiega to ponownemu przesłaniu danych formularza w przypadku odświeżenia strony przez użytkownika.


Jak wykonać przekierowanie 301 w PHP?

Aby wykonać przekierowanie 301 w PHP, należy użyć funkcji `header()` w następujący sposób: ```php
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.nowy-adres.pl/");
exit();
?>
``` Pierwsza linia informuje o stałym przeniesieniu strony, a druga wskazuje nowy adres URL.


Jak wykonać przekierowanie 302 w PHP?

Aby wykonać przekierowanie 302 w PHP, wystarczy użyć funkcji `header()` bez określania statusu HTTP, ponieważ domyślnie jest to przekierowanie tymczasowe: ```php
header("Location: https://www.nowy-adres.pl/");
exit();
?>
```


Czy przekierowanie 301 wpływa na pozycjonowanie strony?

Tak, przekierowanie 301 przekazuje wartość SEO ze starego adresu na nowy, co pomaga w utrzymaniu lub poprawie pozycji w wynikach wyszukiwania. Jest to zalecane rozwiązanie podczas zmiany adresu URL strony lub restrukturyzacji witryny.


Czy przekierowanie 302 wpływa na pozycjonowanie strony?

Przekierowanie 302 nie przekazuje pełnej wartości SEO na nowy adres, ponieważ jest traktowane jako tymczasowe. Wyszukiwarki nadal indeksują stary adres URL, co może prowadzić do rozproszenia wartości SEO między dwoma adresami.