# Backup bazy danych MySQL

#### W Xopero ONE możesz tworzyć kopie zapasowe wielu różnych baz danych, w tym MySQL, Microsoft SQL, PostgreSQL oraz Oracle.

***

## Informacje ogólne

Proces backupu bazy danych **MySQL** w **Xopero ONE** składa się z dwóch etapów:

1. Utworzenie [**zrzutu bazy danych**](#user-content-fn-1)[^1] za pomocą skryptów backupu.
2. Tworzenie backupu utworzonego pliku zrzutu.

Pierwszy etap jest wykonywany za pośrednictwem **Xopero ONE** przy użyciu funkcji [skryptów backupu](https://helpcenter.xopero.com/xopero-one-en/pl/zarzadzanie/plany-backupu/skrypty), podczas gdy drugi etap jest przeprowadzany jako standardowy **backup na poziomie plików lub obrazu**.

Używając narzędzia `mysqldump`, **Xopero ONE** sbsługuje wszystkie wersje **MySQL**, które są oficjalnie wspierane przez **Oracle**.

***

## Konfiguracja backupu

{% hint style="info" %}
Jeśli plan backupu na poziomie plików został już utworzony i jest aktywny, możesz przejść bezpośrednio do **kroku 6**.
{% endhint %}

{% stepper %}
{% step %}
Zaloguj się do [**XMS**](#user-content-fn-2)[^2], otwórz kartę **Plany** > **Backup** i kliknij przycisk <img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/zwGY3DHS0Elg40Yl060i/image.png" alt="" data-size="original"> **Dodaj plan** na górnym pasku.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FprFeRqC9e4czxdiUaCT0%2Fimage.png?alt=media&#x26;token=da56148f-5415-4a7e-bcd9-bad2ab230991" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Wybierz **Urządzenia** z listy platform.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FfdL0QRATeAbbs5evRfUA%2Fimage.png?alt=media&#x26;token=c1d94094-9fe3-42e2-b0c4-d724e2ee0d62" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
W następnej sekcji wybierz **jedną z dostępnych opcji** i wybierz jedno lub więcej urządzeń, których ma dotyczyć plan (możesz również wybrać, aby plan obejmował wszystkie aktywowane urządzenia).

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FERmGKmQkEMyAD2SkcTnA%2Fimage.png?alt=media&#x26;token=d3dc8bb5-8297-4ede-bf49-2167a8ebb70e" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Zdefiniuj nazwę planu backupu.
{% endstep %}

{% step %}
Skonfiguruj Twój plan backupu zgodnie z wymaganiami (więcej informacji na temat konfiguracji planu backupu znajdziesz w artykułach [Backup na poziomie plików](https://helpcenter.xopero.com/xopero-one-en/pl/kopia-zapasowa-i-przywracanie/stacje-robocze-i-serwery/backup-na-poziomie-plikow) oraz [Backup na poziomie obrazu](https://helpcenter.xopero.com/xopero-one-en/pl/kopia-zapasowa-i-przywracanie/stacje-robocze-i-serwery/backup-na-poziomie-obrazu)).
{% endstep %}

{% step %}
Przejdź do sekcji **Ustawienia zaawansowane** i kliknij **Edytuj**, aby dostosować dodatkowe opcje.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FC5awLFK35oYcTicpDijr%2Fimage.png?alt=media&#x26;token=264d0637-e37c-4043-bf76-8492ff6f6712" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Przewiń w dół do sekcji **Skrypty backupu** i kliknij przełącznik [**Skrypt przed zadaniem**](#user-content-fn-3)[^3], aby go włączyć.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2F0nwXfUmxyGh7tpqnyFwi%2Fimage.png?alt=media&#x26;token=faf481f7-87ba-40c0-bddb-8a150603e130" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Wybierz jeden ze skryptów dedykowanych do tworzenia backupu środowiska bazy danych **MySQL** (**Windows** lub **Linux**).

<div><figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FHkd2S2UAmCIggG4ltXTn%2Fimage.png?alt=media&#x26;token=c4571caf-d68a-4124-9876-3d13f2adf5c0" alt=""><figcaption></figcaption></figure> <figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FWxkfrwCX0w7GqbcaTLuq%2Fimage.png?alt=media&#x26;token=e8ae334e-a478-4215-af55-46dcce867053" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
Wpisz nazwę użytkownika bazy danych w polu **Użytkownik bazy danych.**

{% hint style="warning" %}
Zdecydowanie zaleca się **utworzenie dedykowanego użytkownika** specjalnie do operacji backupu bazy danych.
{% endhint %}

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FyQAGWeV4g7ZUbgmTcG99%2Fimage.png?alt=media&#x26;token=76c9754d-23be-4557-bd0c-46f58d1472aa" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Wybierz hasło użytkownika, otwierając **Managera haseł,** gdzie możesz dodać nowe hasło lub wybrać istniejące.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FAVyZL5FgJQ0ujgSrLk5T%2Fimage.png?alt=media&#x26;token=006d4e08-eed7-4576-8bea-866f31e0c2ea" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Ustaw argumenty skryptu — wprowadź je w polu **Argumenty skryptu** w następującej formie:

{% code title="Windows" overflow="wrap" %}

```
database output_dir mysqldump_dir port
```

{% endcode %}

{% code title="Linux" overflow="wrap" %}

```
database output_dir port
```

{% endcode %}

1. `database` — nazwa bazy danych. Aby uwzględnić wiele baz danych w jednym planie backupu, wprowadź ich nazwy w następującym formacie: `[database1 database2 database3]`. Aby wykonać backup wszystkich baz danych, użyj parametru `--all` zamiast podawania nazwy bazy danych.
2. `output_dir` — katalog, w którym zostanie zapisany zrzut bazy danych. Ten katalog musi być również wybrany w sekcji **Dane do ochrony** podczas tworzenia planu backupu.
3. `mysqldump_dir` — tścieżka do narzędzia `mysqldump`.
4. `port` — parametr opcjonalny. Wprowadź numer portu tylko, jeśli używany jest niestandardowy port. Domyślny port to **3306**.

{% hint style="danger" %}
Podczas używania narzędzia `mysqldump` w systemie **Linux**, połączenia z hostem o nazwie '**localhost**' są nawiązywane przez [plik gniazda](#user-content-fn-4)[^4]. Jeśli nie podasz portu w konfiguracji, narzędzie połączy się poprawnie nawet przy użyciu niestandardowego portu. Jeśli jednak łączysz się przez **127.0.0.1**, **wymagane jest podanie niestandardowego portu**.
{% endhint %}

Na przykład, aby wykonać backup wszystkich baz danych ze środowiska **MySQL**, użyj **następujących argumentów**:

```
--all C:\MySQLBackup\ "C:\Program Files\MySQL\MySQL Server 8.0\bin"
```

Jeśli chcesz wykonać backup tylko wybranych baz danych ze środowiska **MySQL** (na przykład dwóch z siedmiu), użyj następujących argumentów:

{% code overflow="wrap" %}

```
database1 database2 C:\MySQLBackup\ "C:\Program Files\MySQL\MySQL Server 8.0\bin"
```

{% endcode %}

{% hint style="warning" %}
**Ważne!** Narzędzie `mysqldump` jest częścią serwera **MySQL** i powinno być **zainstalowane domyślnie**. Jeśli z jakiegoś powodu nie jest dostępne, możesz pobrać pakiet **MySQL Utilities**, który zawiera narzędzie `mysqldump`.
{% endhint %}
{% endstep %}

{% step %}
Włącz dwie dodatkowe opcje, używając pól wyboru:

1. **Czekaj na zakończenie skryptu** — aplikacja będzie czekać, aż zrzut będzie gotowy.
2. **Zakończ zadanie niepowodzeniem, jeśli skrypt się nie powiedzie** — jeśli skrypt zakończy się niepowodzeniem, system powiadomi o błędzie backupu.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FTxTEOhIg25QC5oBOuUv6%2Fimage.png?alt=media&#x26;token=667bad6e-3261-47b0-b078-79d109dc36d7" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Sprawdź dokładnie Twoje ustawienia i kliknij **Zapisz**, aby zamknąć sekcję **Ustawienia zaawansowane**.
{% endstep %}

{% step %}
Po zakończeniu konfiguracji kliknij przycisk **Zapisz**. Plan ochrony automatycznie rozpocznie ochronę urządzeń i baz danych zgodnie z harmonogramem.

{% hint style="success" %}
Możesz również kliknąć przycisk **Zapisz i uruchom**, aby natychmiast rozpocząć proces backupu, niezależnie od harmonogramu.
{% endhint %}
{% endstep %}

{% step %}
To wszystko, co musisz zrobić, aby utworzyć zrzut bazy danych — ten plik powinien być teraz uwzględniony w sekcji **Dane do ochrony**, jeśli wykonujesz backup na poziomie plików (aby wykonać backup tylko bazy danych). Alternatywnie, możesz uruchomić **backup na poziomie obrazu**, aby chronić cały dysk.
{% endstep %}
{% endstepper %}

***

## Przydatne linki i materiały

{% embed url="<https://downloads.mysql.com/archives/utilities>" %}

[^1]: database dump

[^2]: Xopero ONE Management Service

[^3]: pre-task script

[^4]: socket file
