Problemy z konfiguracją serwera baz danych (MySQL, PostgreSQL): Błędy logowania, uprawnień użytkowników i konfiguracji serwera
Linux

Problemy z konfiguracją serwera baz danych (MySQL, PostgreSQL): Błędy logowania, uprawnień użytkowników i konfiguracji serwera

Problemy z konfiguracją serwera baz danych (MySQL, PostgreSQL): Błędy logowania, uprawnień użytkowników i konfiguracji serwera


📘 Wprowadzenie

Prawidłowa konfiguracja serwera baz danych, takiego jak MySQL lub PostgreSQL, jest kluczowa dla bezpieczeństwa i wydajności aplikacji. W artykule przedstawiamy najczęstsze błędy logowania, problemy z uprawnieniami użytkowników, a także błędy konfiguracyjne, które mogą prowadzić do niedostępności bazy lub jej podatności na ataki.


🔐 Błędy logowania – najczęstsze przyczyny

MySQL

❌ Błąd: ERROR 1045 (28000): Access denied for user

👉 Przyczyny:

  • Błędne hasło lub użytkownik
  • Użytkownik próbuje się zalogować z niedozwolonego hosta
  • Brak odpowiednich uprawnień (GRANT)

🛠 Rozwiązanie:
Sprawdź użytkowników:

SELECT user, host FROM mysql.user;

Zmień hasło:

ALTER USER 'user'@'localhost' IDENTIFIED BY 'NoweHaslo';

PostgreSQL

❌ Błąd: psql: FATAL: password authentication failed

👉 Przyczyny:

  • Zła metoda uwierzytelniania w pliku pg_hba.conf
  • Nieprawidłowy login/hasło

🛠 Rozwiązanie:
Edytuj /etc/postgresql/<version>/main/pg_hba.conf i ustaw:

host all all 127.0.0.1/32 md5

Zrestartuj serwer:

systemctl restart postgresql

👥 Problemy z uprawnieniami użytkowników

Problemy z konfiguracją serwera baz danych (MySQL, PostgreSQL): Błędy logowania, uprawnień użytkowników i konfiguracji serwera
Problemy z konfiguracją serwera baz danych (MySQL, PostgreSQL): Błędy logowania, uprawnień użytkowników i konfiguracji serwera

MySQL

Aby użytkownik miał dostęp do konkretnej bazy:

GRANT ALL PRIVILEGES ON nazwa_bazy.* TO 'uzytkownik'@'localhost';
FLUSH PRIVILEGES;

Błąd „Access denied” może też wynikać z:

  • Braku przydzielonej bazy
  • Braku GRANT OPTION

PostgreSQL

Przyznawanie uprawnień:

GRANT CONNECT ON DATABASE baza TO uzytkownik;
GRANT USAGE ON SCHEMA public TO uzytkownik;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO uzytkownik;

⚙️ Problemy konfiguracyjne serwera

MySQL

📁 Plik konfiguracyjny:

/etc/mysql/my.cnf lub /etc/my.cnf

Typowe problemy:

  • Zła lokalizacja datadir
  • Niewystarczające limity max_connections, innodb_buffer_pool_size
  • Brak bind-address ustawionego na 0.0.0.0 (jeśli potrzebny dostęp zdalny)
[mysqld]
bind-address = 0.0.0.0
max_connections = 200

PostgreSQL

📁 Pliki:

  • postgresql.conf
  • pg_hba.conf

Typowe problemy:

  • listen_addresses nie zawiera * lub konkretnego IP
  • Zbyt restrykcyjne ustawienia max_connections, work_mem, shared_buffers
listen_addresses = '*'
max_connections = 100
shared_buffers = 256MB

🔍 Diagnozowanie problemów

🔧 Komendy administracyjne:

  • MySQL:
mysqladmin -u root -p ping
systemctl status mysql
  • PostgreSQL:
pg_isready
systemctl status postgresql

📄 Logi błędów:

  • MySQL: /var/log/mysql/error.log
  • PostgreSQL: /var/log/postgresql/postgresql-<version>-main.log

💡 Dobre praktyki konfiguracyjne

✔️ Twórz użytkowników z ograniczonymi uprawnieniami
✔️ Zmieniaj port serwera (np. z 5432 na inny w PostgreSQL)
✔️ Używaj uwierzytelniania hasłem i SSL
✔️ Regularnie wykonuj backupy (mysqldump, pg_dump)
✔️ Monitoruj obciążenie i wykorzystanie zasobów

Czytaj  Kompilacja kernela Linux

📋 Przykładowe błędy i rozwiązania

Problem System Rozwiązanie
Błąd logowania MySQL Sprawdź mysql.user, zmień hasło
Błąd logowania PostgreSQL Zmień pg_hba.conf, użyj md5
Brak połączenia zdalnego MySQL Ustaw bind-address = 0.0.0.0
Brak dostępu do tabel PostgreSQL Użyj GRANT na schemacie i tabelach
Serwer nie startuje Oba Sprawdź logi błędów, zweryfikuj port

🧰 Narzędzia pomocnicze

  • mysql_secure_installation
  • psql – klient PostgreSQL
  • adminer, phpMyAdmin – GUI do zarządzania bazami
  • pgAdmin – interfejs dla PostgreSQL

🔚 Podsumowanie

Konfiguracja serwera baz danych wymaga staranności, znajomości systemu uprawnień i zasad działania silnika bazy. Błędy w logowaniu, brak dostępu do danych lub nieprawidłowe ustawienia sieciowe to najczęstsze problemy, które można zdiagnozować poprzez analizę logów, plików konfiguracyjnych oraz testowanie poleceń administracyjnych.

 

Polecane wpisy
Dmidecode Linux
Dmidecode Linux

Dmidecode Linux – Kompletny przewodnik po narzędziu do analizy sprzętu Dmidecode to jedno z najważniejszych narzędzi dostępnych w systemach Linux, Czytaj dalej

Plik stronicowania w systemie Linux Mint: Jak zoptymalizować jego ustawienia?
Plik stronicowania w systemie Linux Mint: Jak zoptymalizować jego ustawienia?

Plik stronicowania, zwany również plikiem wymiany (swap), jest ważnym elementem systemu operacyjnego Linux Mint. Pełni on rolę rozszerzenia pamięci RAM, Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.