Table of Contents

MySQL - príručka pre začiatočníkov

MySQL je najobľúbenejšia open-source relačná databáza na svete, ktorú používajú milióny aplikácií od malých webov po rozsiahle podnikové systémy. Server obsahuje plne nakonfigurovaný MySQL 8.4 LTS s heslom root, ktoré ste zadali pri objednávke. Na správu databáz cez web je k dispozícii phpMyAdmin.


Krok 1 – Overte, že MySQL funguje

IP adresa a heslo root vášho servera sú uvedené na stránke Server Details v klientskom paneli. phpMyAdmin je dostupný hneď po vytvorení servera. Otvorte http://your.server.ip/phpmyadmin v prehliadači a overte, že funguje.

Prihlásenie do phpMyAdmin:

  • Používateľské meno: root
  • Heslo: MySQL Root Password, ktoré ste zadali pri objednávke

V phpMyAdmin môžete vytvárať databázy, spúšťať SQL dopyty, importovať/exportovať dáta a spravovať používateľov bez príkazového riadka.

Databázové servery nepotrebujú verejný prístup z internetu. Na bezpečný prístup umiestnite server do privátnej siete za router VyOS a k MySQL a phpMyAdmin sa pripájajte cez VPN na privátnu IP servera.


Krok 2 – Vzdialené pripojenie k MySQL

MySQL je nakonfigurovaný na prijímanie vzdialených pripojení. Pripojiť sa môžete z ľubovoľnej aplikácie alebo nástroja:

mysql -h your.server.ip -u root -p

Údaje na pripojenie z grafických databázových nástrojov (MySQL Workbench, DBeaver, HeidiSQL atď.):

Parameter Hodnota
Hostiteľyour.server.ip
Port3306
Používateľské menoroot
HesloMySQL Root Password z objednávky

Poznámka: Port 3306 je protokol MySQL, nie HTTP – v prehliadači ho otvoriť nemožno. Použite databázového klienta alebo príkaz vyššie.


Krok 3 – Zapnutie SSL pre phpMyAdmin (voliteľné)

Ak na tento server smeruje vaša doména, môžete pre phpMyAdmin zapnúť HTTPS s bezplatným certifikátom Let’s Encrypt. Pripojte sa cez SSH a spustite:

ssh root@your.server.ip
/opt/setup/get-ssl.sh db.yourdomain.com

Skript overí DNS, získa certifikát a automaticky nastaví Apache pre HTTPS. Po dokončení je phpMyAdmin dostupný na https://db.yourdomain.com/phpmyadmin.

Poznámka: Pred spustením skriptu sa uistite, že A záznam vašej domény smeruje na IP servera. SSL je voliteľné – phpMyAdmin funguje bez problémov cez HTTP s prístupom cez IP adresu.


Správa databáz

Vytváranie ďalších databáz

Ďalšie databázy môžete vytvoriť cez phpMyAdmin alebo SSH:

mysql -u root -p

CREATE DATABASE newdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'newuser'@'%' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON newdb.* TO 'newuser'@'%';
FLUSH PRIVILEGES;

Import a export

Cez phpMyAdmin: Použite karty Import/Export – podporujú SQL, CSV a ďalšie formáty. Maximálna veľkosť nahrávaného súboru je 64 MB.

Cez príkazový riadok:

# Export
mysqldump -u root -p your_database > backup.sql

# Import
mysql -u root -p your_database < backup.sql

Pri veľkých databázach (nad 64 MB) použite namiesto phpMyAdmin príkazový riadok.


Po inštalácii

Fail2Ban – ochrana proti útokom hrubou silou

Váš server obsahuje Fail2Ban predkonfigurovaný na ochranu SSH aj phpMyAdmin proti útokom hrubou silou.

Pravidlo Max. počet pokusov Doba blokovania
SSH5 neúspešných prihlásení10 minút
phpMyAdmin5 neúspešných prihlásení1 hodina

Užitočné príkazy:

# Check banned IPs
fail2ban-client status phpmyadmin
fail2ban-client status sshd

# Unban an IP
fail2ban-client set phpmyadmin unbanip 1.2.3.4

Ak sa omylom zablokujete, pripojte sa cez konzolu VNC v klientskom paneli a odblokujte svoju IP.

Správa služieb

MySQL a webový stack bežia cez systemd. Bežné príkazy:

# Check service status
systemctl status mysql
systemctl status apache2

# Restart MySQL
systemctl restart mysql

# View MySQL logs
journalctl -u mysql -n 100

Ladenie výkonu MySQL

InnoDB buffer pool sa pri prvom štarte automaticky nastaví na 50 % RAM. Aktuálnu hodnotu zistíte takto:

mysql -u root -p -e "SHOW VARIABLES LIKE 'innodb_buffer_pool_size';"

Na ručnú úpravu upravte /etc/mysql/mysql.conf.d/99-tuning.cnf a reštartujte MySQL:

systemctl restart mysql

Prihlasovacie údaje servera

Heslo root pre MySQL je uložené v /root/.mysql_credentials.

Čo je predkonfigurované

  • Vzdialený prístup: MySQL prijíma pripojenia z ľubovoľnej IP na porte 3306
  • InnoDB buffer pool: Automaticky nastavený na 50 % dostupnej RAM pri prvom štarte
  • Performance schema: Na serveroch s menej ako 2 GB RAM vypnuté kvôli úspore prostriedkov
  • Nahrávanie v PHP: Max. veľkosť súboru 64 MB (pre importy v phpMyAdmin)

Zahrnutý softvér

Komponent Verzia
Ubuntu24.04 LTS
MySQL8.4 LTS (Oracle APT)
Apache2.4
PHP8.3
phpMyAdmin5.2
CertbotNajnovšia
Fail2Ban1.0

Riešenie problémov

Problém Riešenie
Nedá sa vzdialene pripojiť k MySQL Skontrolujte, či port 3306 neblokuje firewall. Overte, že používateľ má host '%' (nie 'localhost')
phpMyAdmin hlási chybu prihlásenia Overte heslo MySQL. Prihlasovacie údaje root sú v /root/.mysql_credentials
Import v phpMyAdmin zlyhá (príliš veľký súbor) Maximum nahrávania je 64 MB. Pre väčšie súbory použite mysql -u root -p dbname < file.sql cez SSH
MySQL sa nespustí Kontrola logov: journalctl -u mysql -n 50. Častá príčina: plný disk (df -h /)
Zabudnuté heslo root pre MySQL Pripojte sa cez SSH a skontrolujte /root/.mysql_credentials
Zablokované službou Fail2Ban Odblokujte svoju IP cez konzolu VNC v klientskom paneli
Zabudnuté heslo root Obnovte ho cez konzolu VNC v klientskom paneli