# Zarządzanie bazami danych MySQL

Bazy danych MySQL są niezbędne do przechowywania danych wielu popularnych pluginów (np. LuckPerms, CoreProtect), skryptów FiveM (np. oxmysql) czy botów Discord. W panelu BlackHost możesz w kilka sekund utworzyć bazę danych oraz zarządzać nią przez phpMyAdmin.

## 1. Przejdź do zakładki Bazy danych

Zaloguj się do panelu [dash.blackhost.pl](https://dash.blackhost.pl/), wybierz swój serwer, a następnie w menu bocznym kliknij zakładkę **Bazy danych**.

   ![Zakładka Bazy danych](/public/bazydanychmenu.png)

## 2. Utwórz nową bazę danych

Kliknij przycisk **Nowa baza danych** w prawym górnym rogu.

* **Nazwa bazy:** wpisz krótką nazwę (np. `luckperms`, `fivem`, `bot`). Panel automatycznie doda do niej unikalny prefiks Twojego serwera (np. `s1_`).
* **Dozwolone połączenia:** pozostaw `%` (zezwolenie na połączenia z dowolnego hosta/IP).

Kliknij przycisk **Utwórz**.

   ![Tworzenie nowej bazy danych](/public/nowabaza.png)

## 3. Odczytaj dane dostępowe do bazy

Po utworzeniu bazy kliknij jej nazwę lub ikonę oka, aby wyświetlić szczegółowe dane połączenia:

   ![Szczegóły bazy danych](/public/szczegolybazy.png)

| Parametr w panelu | Przykład | Opis |
| :--- | :--- | :--- |
| **Adres hosta** | `pl02.blackhost.pl:3306` | Adres serwera bazy danych wraz z portem. |
| **Nazwa bazy** | `s1_nazwa` | Pełna nazwa bazy (zawsze z prefiksem serwera `s1_`). |
| **Użytkownik** | `u1_PilITWTNWR` | Unikalny login użytkownika przypisany do bazy. |
| **Hasło** | `••••••••` | Kliknij ikonę oka, aby odsłonić hasło. |

> 🔑 **Wskazówka:** Jeśli zapomnisz hasła, możesz w każdej chwili wygenerować nowe za pomocą przycisku **Zresetuj hasło**.

## 4. Logowanie do phpMyAdmin

Do bezpośredniego zarządzania bazą służy webowy panel **phpMyAdmin**:

1. Wejdź na stronę [phpmyadmin.blackhost.pl](https://phpmyadmin.blackhost.pl).
2. W formularzu logowania podaj:
   * **Serwer:** adres hosta z panelu **bez portu** (np. `pl02.blackhost.pl`).
   * **Użytkownik:** pełna nazwa użytkownika (np. `u1_PilITWTNWR`).
   * **Hasło:** hasło odczytane ze szczegółów bazy.
3. Kliknij **Zaloguj się**.

## 5. Konfiguracja w pliku wtyczki lub skryptu

W plikach konfiguracyjnych (np. `config.yml`, `.env`, `settings.json`) rozdziel parametry według poniższego wzoru:

```yaml
database:
  host: "pl02.blackhost.pl"     # SAM host, NIGDY localhost ani 127.0.0.1!
  port: 3306                    # Standardowy port MySQL
  database: "s1_nazwa"          # PEŁNA nazwa bazy z prefiksem s1_
  username: "u1_PilITWTNWR"     # PEŁNY login użytkownika z prefiksem u1_
  password: "twoje_tajne_haslo" # Skopiowane hasło
```

> ⚠️ **Najczęstszy błąd - "localhost":**  
> Bazy danych w BlackHost działają na dedykowanych maszynach bazodanowych. **Nigdy nie wpisuj `localhost` ani `127.0.0.1` w polu hosta**. Zawsze podawaj pełny adres hosta (np. `pl02.blackhost.pl`).

---

## 💡 Najczęściej zadawane pytania (FAQ)

**❔ Błąd: "Communications link failure" lub "Connection refused" - co robić?**  
Upewnij się, że w polu hosta nie wpisałeś `localhost` ani nie dopisałeś `:3306` (port podaje się w osobnym polu `port`).

**❔ Błąd: "Access denied for user" - z czego wynika?**  
Najczęściej oznacza to literówkę w haśle lub brak wpisania pełnego loginu użytkownika (login musi zawierać prefiks, np. `u1_...`).

**❔ Błąd: "Unknown database" - co oznacza?**  
Podałeś nazwę bazy bez prefiksu serwera. Nazwa bazy to np. `s1_luckperms`, a nie samo `luckperms`.
