O MariaDB
MariaDB to otwartoźródłowy relacyjny serwer baz danych, powstały jako fork MySQL. Jest zgodna z zdecydowaną większością aplikacji pisanych z myślą o MySQL (WordPress, Nextcloud, Laravel, Django, Matomo i wiele innych), a obsługuje się ją standardowym SQL.
Po dostarczeniu serwera masz zainstalowany pakiet mariadb-server z repozytoriów Twojej dystrybucji (Debian 12, Debian 13, Ubuntu 20.04, 22.04 lub 24.04). Usługa mariadb jest włączona i uruchomiona, więc wystartuje sama po ponownym uruchomieniu systemu. Dokładna wersja zależy od wybranej dystrybucji.
Domyślnie MariaDB nasłuchuje wyłącznie na 127.0.0.1:3306. Nic nie jest wystawione do Internetu, co jest dobrym punktem wyjścia dla aplikacji działających na tym samym VPS-ie. Do bazy łączysz się jako lokalny root poleceniem sudo mariadb.
Co możesz zrobić z MariaDB
Instalacja z oficjalnych repozytoriów
Pakiet pochodzi z repozytoriów dystrybucji, więc poprawki bezpieczeństwa dostajesz przez
apt, tak jak dla reszty systemu.Usługa włączona przy starcie
Usługa
mariadbjest uruchamiana przezsystemctl enable --now. Działa od momentu dostarczenia serwera i wraca po każdym restarcie VPS-a.Nasłuch tylko na localhost
Port 3306 jest dostępny wyłącznie z samego serwera (127.0.0.1). Baza nie jest widoczna z zewnątrz, dopóki sam tego nie zmienisz.
Klient w wierszu poleceń
Polecenie
sudo mariadbotwiera sesję SQL jako lokalny root, bez hasła do szukania, aby utworzyć bazy i użytkowników.Zgodność z MySQL
Popularne konektory i narzędzia MySQL działają z MariaDB. Migracja istniejącej aplikacji zwykle wymaga niewielu zmian.
Transakcyjny silnik InnoDB
Transakcje ACID, klucze obce i blokowanie na poziomie wiersza sprawdzają się w aplikacjach webowych, API i narzędziach wewnętrznych z dużą ilością zapisów.
Pierwsze kroki z MariaDB
Od zamówienia do produkcji w kilka minut.
- 1
Zamów VPS z MariaDB
Wybierz VPS z Linuksem w Paryżu lub Frankfurcie, ustaw Debiana albo Ubuntu, a następnie zaznacz MariaDB w zakładce „Aplikacje” formularza zamówienia.
- 2
Połącz się z dostarczonym serwerem
Gdy VPS będzie gotowy, zaloguj się przez SSH, używając otrzymanych danych dostępowych, i otwórz klienta MariaDB jako lokalny root. To samo polecenie podaje komunikat końcowy instalacji.
Bashssh USER@SERVER_IP sudo mariadb - 3
Utwórz bazę i użytkownika
Nie używaj konta root w aplikacjach. Załóż osobną bazę i użytkownika z uprawnieniami tylko do niej, z długim, unikalnym hasłem.
Bashsudo mariadb -e "CREATE DATABASE app_db CHARACTER SET utf8mb4; CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD'; GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost'; FLUSH PRIVILEGES;" - 4
Zabezpiecz serwer na produkcję
Uruchom kreator utwardzania (na Ubuntu 20.04 jest to mysql_secure_installation), zostaw port 3306 zamknięty w zaporze i zaplanuj regularne kopie zapasowe. Jeśli potrzebny jest zdalny dostęp, użyj tunelu SSH.
Bashsudo mariadb-secure-installation sudo mariadb-dump --all-databases > backup.sql
Zastosowania MariaDB
Baza dla strony lub CMS-a
Zainstaluj WordPressa, Nextcloud albo aplikację Laravel na tym samym VPS-ie i wskaż im
localhost. Baza pozostaje prywatna, bez otwartego portu.Backend dla API i aplikacji
Hostuj bazę aplikacji w Node.js, Pythonie lub PHP, z tabelami, indeksami i transakcjami, na serwerze, który w pełni kontrolujesz.
Środowisko deweloperskie i testowe
Odtwórz bazę produkcyjną, by sprawdzić migrację schematu albo aktualizację wersji, zanim dotkniesz prawdziwych danych.
Przechowywanie danych firmowych
Zbieraj dane raportowe, śledzenie zamówień lub dane narzędzi wewnętrznych w bazie SQL, z regularnym eksportem przez
mariadb-dump.
Najczęstsze pytania o MariaDB
Nie. Według receptury instalacyjnej MariaDB nasłuchuje wyłącznie na 127.0.0.1:3306. Dostęp mają tylko aplikacje na serwerze i Twoja sesja SSH. Aby połączyć się z własnego komputera, użyj tunelu SSH.
Więcej o MariaDB
Tylko lokalnie czy z otwartym dostępem
Jeśli aplikacja działa na tym samym VPS-ie, niczego nie zmieniaj: nasłuch na 127.0.0.1 to najbezpieczniejsze ustawienie. Do administrowania bazą z własnego komputera (DBeaver, HeidiSQL, klient w terminalu) lepiej użyć tunelu SSH niż publicznego portu:
ssh -L 3306:127.0.0.1:3306 USER@SERVER_IP
Następnie łączysz się z 127.0.0.1:3306 na swojej maszynie. Jeśli naprawdę musisz przyjmować połączenia zdalne, zmień parametr bind-address serwera, utwórz użytkowników przypisanych do konkretnego adresu IP i ogranicz port 3306 w zaporze do tego adresu.
Kopie zapasowe
Dla większości małych baz wystarczy zrzut logiczny. W starszych wersjach (Ubuntu 20.04) polecenie nazywa się mysqldump.
sudo mariadb-dump --single-transaction --all-databases | gzip > /root/backup-$(date +%F).sql.gz
Zaplanuj je w cron, a potem kopiuj archiwum poza serwer. Kopia leżąca na tym samym dysku nie ochroni Cię przed awarią VPS-a. Regularnie sprawdzaj, czy odtworzenie z kopii działa.
Dopasowanie konfiguracji do ilości RAM
Ustawienia domyślne są ostrożne. Na VPS-ie przeznaczonym tylko na bazę najważniejszy jest parametr innodb_buffer_pool_size, który określa, ile danych trzymanych jest w pamięci. Wartość od 50 do 70% RAM to często stosowany punkt wyjścia. Zanim pójdziesz dalej, obserwuj zużycie pamięci. Więcej poradników znajdziesz w sekcji /learn.