Jak skonfigurować bazę danych MySQL na serwerze Linux
Kompletny przewodnik po instalacji, zabezpieczaniu i zarządzaniu serwerem bazy danych MySQL na Ubuntu i CentOS.

MySQL to jeden z najpopularniejszych systemów zarządzania relacyjnymi bazami danych typu open source. Ten poradnik pomoże Ci zainstalować, zabezpieczyć i skonfigurować MySQL na serwerze Linux Hiddence.
Instalacja MySQL
MySQL 8.0 jest obecną stabilną wersją na rok 2026. Proces instalacji różni się nieznacznie między dystrybucjami Ubuntu/Debian a RHEL. Poniżej omówimy obie metody.
Instalacja MySQL na Ubuntu/Debian
Dla Ubuntu 22.04 LTS i nowszych MySQL 8.0 jest dostępny w domyślnych repozytoriach. Zainstaluj go za pomocą apt:
sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql
# Zweryfikuj instalację
sudo systemctl status mysql
mysql --versionInstalacja MySQL na RHEL / CentOS / AlmaLinux / Rocky Linux
Dla dystrybucji opartych na RHEL należy najpierw dodać repozytorium MySQL. MySQL 8.0 jest zalecany do użytku produkcyjnego:
# Pobierz pakiet repozytorium MySQL
sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
# Zainstaluj repozytorium
sudo rpm -ivh mysql80-community-release-el9-1.noarch.rpm
# Dla CentOS 8/Rocky Linux 8/AlmaLinux 8 użyj:
# sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm
# Zainstaluj MySQL
sudo yum install mysql-server -y
# Uruchom i włącz MySQL
sudo systemctl start mysqld
sudo systemctl enable mysqld
# Zweryfikuj instalację
sudo systemctl status mysqld
mysql --versionWeryfikacja instalacji
Po instalacji sprawdź, czy MySQL działa poprawnie:
# Sprawdź status usługi
sudo systemctl status mysql # Ubuntu/Debian
sudo systemctl status mysqld # RHEL / CentOS
# Sprawdź wersję MySQL
mysql --version
# Testuj połączenie (poprosi o hasło root)
sudo mysql -u root -pZabezpieczanie instalacji MySQL
Uruchom skrypt bezpiecznej instalacji MySQL:
sudo mysql_secure_installation
# Postępuj zgodnie z instrukcjami, aby ustawić hasło root, usunąć anonimowych użytkowników, wyłączyć zdalne logowanie root itp.Tworzenie bazy danych i użytkownika
sudo mysql -u root -p
CREATE DATABASE myapp_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;Zarządzanie użytkownikami
sudo mysql -u root -p
# Utwórz użytkownika
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
# Nadaj uprawnienia
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
# Cofnij uprawnienia
REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'localhost';
# Usuń użytkownika
DROP USER 'newuser'@'localhost';Włączanie zdalnego dostępu (opcjonalnie)
Aby zezwolić na zdalne połączenia, zmień bind-address:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# Zmień bind-address = 127.0.0.1 na bind-address = 0.0.0.0
sudo systemctl restart mysql
# Skonfiguruj również firewall, aby zezwolić na port 3306Kopia zapasowa i przywracanie bazy danych
Tworzenie kopii i przywracanie:
# Kopia zapasowa
mysqldump -u root -p database_name > backup.sql
# Przywracanie
mysql -u root -p database_name < backup.sqlNajlepsze praktyki
- Używaj silnych haseł dla użytkowników bazy danych
- Nadawaj użytkownikom tylko niezbędne uprawnienia
- Regularnie twórz kopie zapasowe swoich baz danych
- Aktualizuj MySQL, aby otrzymywać poprawki bezpieczeństwa
- Monitoruj wydajność bazy danych i optymalizuj zapytania