Kako postaviti MySQL bazu podataka na Linux poslužitelju
Potpuni vodič za instalaciju, osiguranje i upravljanje MySQL poslužiteljem baze podataka na Ubuntuu i CentOS-u.

MySQL je jedan od najpopularnijih sustava za upravljanje relacijskim bazama podataka otvorenog koda. Ovaj vodič pomoći će vam instalirati, osigurati i konfigurirati MySQL na vašem Hiddence Linux poslužitelju.
Instalacija MySQL-a
MySQL 8.0 je trenutna stabilna verzija od 2026. Proces instalacije malo se razlikuje između Ubuntu/Debiana i distribucija temeljenih na RHEL-u. Pokrit ćemo obje metode u nastavku.
Instalacija MySQL-a na Ubuntu/Debian
Za Ubuntu 22.04 LTS i novije, MySQL 8.0 dostupan je u zadanim repozitorijima. Instalirajte ga pomoću apt-a:
sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql
# Provjera instalacije
sudo systemctl status mysql
mysql --versionInstalacija MySQL-a na RHEL / CentOS / AlmaLinux / Rocky Linux
Za distribucije temeljene na RHEL-u, prvo morate dodati MySQL repozitorij. MySQL 8.0 preporučuje se za produkcijsku upotrebu:
# Preuzmite paket MySQL repozitorija
sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
# Instalirajte repozitorij
sudo rpm -ivh mysql80-community-release-el9-1.noarch.rpm
# Za CentOS 8/Rocky Linux 8/AlmaLinux 8, koristite:
# sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm
# Instalirajte MySQL
sudo yum install mysql-server -y
# Pokrenite i omogućite MySQL
sudo systemctl start mysqld
sudo systemctl enable mysqld
# Provjera instalacije
sudo systemctl status mysqld
mysql --versionProvjera instalacije
Nakon instalacije provjerite radi li MySQL ispravno:
# Provjeri status usluge
sudo systemctl status mysql # Ubuntu/Debian
sudo systemctl status mysqld # RHEL / CentOS
# Provjeri MySQL verziju
mysql --version
# Testiraj vezu (tražit će root lozinku)
sudo mysql -u root -pOsiguranje MySQL instalacije
Pokrenite skriptu za sigurnu instalaciju MySQL-a:
sudo mysql_secure_installation
# Slijedite upute za postavljanje root lozinke, uklanjanje anonimnih korisnika, onemogućavanje udaljene root prijave itd.Kreiranje baze podataka i korisnika
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;Upravljanje korisnicima
sudo mysql -u root -p
# Kreiraj korisnika
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
# Dodijeli privilegije
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
# Opozovi privilegije
REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'localhost';
# Izbriši korisnika
DROP USER 'newuser'@'localhost';Omogućavanje udaljenog pristupa (Neobavezno)
Da biste dopustili udaljene veze, modificirajte bind-address:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# Promijenite bind-address = 127.0.0.1 u bind-address = 0.0.0.0
sudo systemctl restart mysql
# Također konfigurirajte vatrozid da dopusti port 3306Sigurnosna kopija i vraćanje baze podataka
Kreiraj sigurnosnu kopiju i vrati:
# Sigurnosna kopija
mysqldump -u root -p database_name > backup.sql
# Vraćanje
mysql -u root -p database_name < backup.sqlNajbolje prakse
- Koristite jake lozinke za korisnike baze podataka
- Dodijelite samo potrebne privilegije korisnicima
- Redovito radite sigurnosne kopije svojih baza podataka
- Održavajte MySQL ažuriranim radi sigurnosnih zakrpa
- Pratite performanse baze podataka i optimizirajte upite