Konfiguracja serwera baz danych (MySQL/PostgreSQL) w systemie Linux
W dzisiejszym świecie, gdzie aplikacje wymagają przechowywania i przetwarzania dużych ilości danych, serwery baz danych są kluczowym elementem infrastruktury informatycznej. MySQL i PostgreSQL to jedne z najpopularniejszych systemów zarządzania bazami danych (DBMS), szeroko stosowane zarówno w małych, jak i dużych przedsiębiorstwach. Konfiguracja serwera baz danych w systemie Linux może być wyzwaniem, ale jest to niezbędna umiejętność dla administratorów systemów. W tym artykule omówimy proces konfiguracji serwera baz danych MySQL i PostgreSQL na systemie Linux, skupiając się na najlepszych praktykach, które zapewnią wydajność, bezpieczeństwo i niezawodność.
1. Instalacja MySQL na systemie Linux
MySQL jest jednym z najpopularniejszych systemów zarządzania bazami danych na świecie. Jest to otwartoźródłowy system baz danych, który jest używany do przechowywania danych w wielu różnych aplikacjach. Instalacja MySQL na systemie Linux jest dość prosta, a poniżej przedstawiamy kroki, które należy wykonać, aby skonfigurować MySQL na popularnych dystrybucjach, takich jak Ubuntu i CentOS.

1.1. Instalacja MySQL na Ubuntu
- Zaktualizuj listę pakietów:
Najpierw upewnij się, że Twoja lista pakietów jest aktualna, uruchamiając następujące polecenie:
sudo apt-get update - Zainstaluj serwer MySQL:
Teraz możesz zainstalować serwer MySQL:
sudo apt-get install mysql-server - Uruchom usługę MySQL:
Po zakończeniu instalacji uruchom usługę MySQL:
sudo systemctl start mysql - Sprawdź status serwera:
Możesz sprawdzić, czy MySQL działa poprawnie, używając poniższego polecenia:
sudo systemctl status mysql - Bezpieczeństwo instalacji:
Po zainstalowaniu MySQL uruchom polecenie bezpieczeństwa, aby skonfigurować silniejsze ustawienia:
sudo mysql_secure_installationTo narzędzie pomoże Ci skonfigurować hasło administratora, usunąć testowe bazy danych i wyłączyć możliwość zdalnego logowania użytkowników root.
1.2. Instalacja MySQL na CentOS
- Zaktualizuj system:
Na początku zaktualizuj system:
sudo yum update - Zainstaluj MySQL:
Zainstaluj MySQL z oficjalnego repozytorium:
sudo yum install mysql-server - Uruchom MySQL:
Po zakończeniu instalacji uruchom serwer MySQL:
sudo systemctl start mysqld - Sprawdź status serwera:
Upewnij się, że MySQL działa prawidłowo:
sudo systemctl status mysqld - Konfiguracja bezpieczeństwa:
Skonfiguruj hasło dla użytkownika root:
sudo mysql_secure_installation
2. Instalacja PostgreSQL na systemie Linux
PostgreSQL to zaawansowany system zarządzania bazami danych, który jest znany ze swojej niezawodności i elastyczności. Podobnie jak MySQL, PostgreSQL jest również otwartoźródłowy i szeroko stosowany w wielu projektach.
2.1. Instalacja PostgreSQL na Ubuntu
- Zaktualizuj system:
Zaktualizuj listę pakietów:
sudo apt-get update - Zainstaluj PostgreSQL:
Zainstaluj serwer PostgreSQL:
sudo apt-get install postgresql postgresql-contrib - Uruchom PostgreSQL:
Po zainstalowaniu PostgreSQL, upewnij się, że jest uruchomiony:
sudo systemctl start postgresql - Sprawdź status serwera:
Sprawdź, czy PostgreSQL działa prawidłowo:
sudo systemctl status postgresql - Konfiguracja użytkowników:
Domyślnie PostgreSQL używa systemowego użytkownika
postgresdo logowania. Możesz przełączyć się na tego użytkownika i uzyskać dostęp do PostgreSQL:sudo -i -u postgres - Tworzenie nowego użytkownika i bazy danych:
Aby utworzyć nowego użytkownika i bazę danych, użyj następujących poleceń w konsoli PostgreSQL:
createuser --interactive createdb nowa_baza_danych
2.2. Instalacja PostgreSQL na CentOS
- Zaktualizuj system:
Zaktualizuj listę dostępnych pakietów:
sudo yum update - Zainstaluj PostgreSQL:
Zainstaluj PostgreSQL:
sudo yum install postgresql-server postgresql-contrib - Inicjalizacja bazy danych:
Zainicjuj bazę danych PostgreSQL:
sudo postgresql-setup initdb - Uruchom PostgreSQL:
Uruchom serwer PostgreSQL:
sudo systemctl start postgresql - Sprawdź status serwera:
Sprawdź, czy PostgreSQL działa prawidłowo:
sudo systemctl status postgresql - Zabezpieczenie dostępu:
Skonfiguruj odpowiednie pliki konfiguracyjne, aby umożliwić zdalny dostęp, jeśli jest to wymagane.
3. Podstawowa konfiguracja serwera baz danych
Po zainstalowaniu MySQL lub PostgreSQL, należy wykonać kilka podstawowych konfiguracji, które poprawią bezpieczeństwo, wydajność i użyteczność serwera.
3.1. Konfiguracja MySQL
- Zmiana portu:
Domyślnie MySQL działa na porcie 3306. Jeśli chcesz zmienić port, edytuj plik konfiguracyjny:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnfZmodyfikuj linię:
port = 3306Zapisz zmiany i zrestartuj usługę:
sudo systemctl restart mysql - Zdalny dostęp:
Aby umożliwić dostęp do bazy danych zdalnie, musisz zmienić ustawienie
bind-addressw pliku konfiguracyjnym:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnfUstaw
bind-addressna0.0.0.0lub adres IP serwera:bind-address = 0.0.0.0Zapisz zmiany i uruchom ponownie MySQL:
sudo systemctl restart mysql
3.2. Konfiguracja PostgreSQL
- Zmiana portu:
Domyślnie PostgreSQL działa na porcie 5432. Możesz zmienić ten port edytując plik:
sudo nano /var/lib/pgsql/data/postgresql.confZmodyfikuj linię:
port = 5432 - Zdalny dostęp:
Aby umożliwić dostęp zdalny, musisz dodać odpowiednią regułę w pliku
pg_hba.conf, który znajduje się w katalogu/var/lib/pgsql/data/.Dodaj następujący wpis, aby umożliwić dostęp dla wszystkich zdalnych hostów:
host all all 0.0.0.0/0 md5Następnie zrestartuj usługę PostgreSQL:
sudo systemctl restart postgresql
4. Backup i odzyskiwanie danych
4.1. Backup MySQL
Aby wykonać kopię zapasową bazy danych MySQL, użyj polecenia mysqldump:
mysqldump -u root -p baza_danych > backup_baza.sql
4.2. Backup PostgreSQL
Aby wykonać kopię zapasową bazy danych PostgreSQL, użyj polecenia pg_dump:
pg_dump -U postgres baza_danych > backup_baza.sql
5. Podsumowanie
Konfiguracja serwera baz danych w systemie Linux jest kluczowym elementem każdego środowiska produkcyjnego. Niezależnie od tego, czy używasz MySQL, czy PostgreSQL, obie platformy oferują dużą elastyczność i niezawodność. Ważne jest, aby po zainstalowaniu bazy danych przeprowadzić odpowiednią konfigurację, zabezpieczyć dostęp, a także regularnie tworzyć kopie zapasowe danych, aby zapewnić ich bezpieczeństwo.






