Table of Contents

MySQL - průvodce pro začátečníky

MySQL je nejoblíbenější open-source relační databáze na světě, kterou používají miliony aplikací od malých webů po rozsáhlé podnikové systémy. Server obsahuje plně nakonfigurovaný MySQL 8.4 LTS s heslem root, které jste zadali při objednávce. Pro správu databází přes web je k dispozici phpMyAdmin.


Krok 1 – Ověřte, že MySQL funguje

IP adresa a heslo root vašeho serveru jsou uvedeny na stránce Server Details v klientském panelu. phpMyAdmin je dostupný ihned po vytvoření serveru. Otevřete http://your.server.ip/phpmyadmin v prohlížeči a ověřte, že funguje.

Přihlášení do phpMyAdmin:

  • Uživatelské jméno: root
  • Heslo: MySQL Root Password, které jste zadali při objednávce

V phpMyAdmin můžete vytvářet databáze, spouštět SQL dotazy, importovat/exportovat data a spravovat uživatele bez příkazového řádku.

Databázové servery nepotřebují veřejný přístup z internetu. Pro bezpečný přístup umístěte server do privátní sítě za router VyOS a k MySQL a phpMyAdmin se připojujte přes VPN na privátní IP serveru.


Krok 2 – Vzdálené připojení k MySQL

MySQL je nakonfigurován k přijímání vzdálených připojení. Připojit se můžete z libovolné aplikace nebo nástroje:

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

Údaje pro připojení z grafických databázových nástrojů (MySQL Workbench, DBeaver, HeidiSQL atd.):

Parametr Hodnota
Hostitelyour.server.ip
Port3306
Uživatelské jménoroot
HesloMySQL Root Password z objednávky

Poznámka: Port 3306 je protokol MySQL, ne HTTP – v prohlížeči ho otevřít nelze. Použijte databázového klienta nebo příkaz výše.


Krok 3 – Zapnutí SSL pro phpMyAdmin (volitelné)

Pokud na tento server směřuje vaše doména, můžete pro phpMyAdmin zapnout HTTPS s bezplatným certifikátem Let’s Encrypt. Připojte se přes SSH a spusťte:

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

Skript ověří DNS, získá certifikát a automaticky nastaví Apache pro HTTPS. Po dokončení je phpMyAdmin dostupný na https://db.yourdomain.com/phpmyadmin.

Poznámka: Před spuštěním skriptu se ujistěte, že A záznam vaší domény směřuje na IP serveru. SSL je volitelné – phpMyAdmin funguje bez problémů přes HTTP s přístupem přes IP adresu.


Správa databází

Vytváření dalších databází

Další databáze můžete vytvořit přes phpMyAdmin nebo 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

Přes phpMyAdmin: Použijte karty Import/Export – podporují SQL, CSV a další formáty. Maximální velikost nahrávaného souboru je 64 MB.

Přes příkazový řádek:

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

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

U velkých databází (nad 64 MB) použijte místo phpMyAdmin příkazový řádek.


Po instalaci

Fail2Ban – ochrana proti útokům hrubou silou

Váš server obsahuje Fail2Ban předkonfigurovaný k ochraně SSH i phpMyAdmin proti útokům hrubou silou.

Pravidlo Max. počet pokusů Doba blokace
SSH5 neúspěšných přihlášení10 minut
phpMyAdmin5 neúspěšných přihlášení1 hodina

Užitečné příkazy:

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

# Unban an IP
fail2ban-client set phpmyadmin unbanip 1.2.3.4

Pokud se omylem zablokujete, připojte se přes konzoli VNC v klientském panelu a odblokujte svou IP.

Správa služeb

MySQL a webový stack běží přes systemd. Běžné příkazy:

# Check service status
systemctl status mysql
systemctl status apache2

# Restart MySQL
systemctl restart mysql

# View MySQL logs
journalctl -u mysql -n 100

Ladění výkonu MySQL

InnoDB buffer pool se při prvním startu automaticky nastaví na 50 % RAM. Aktuální hodnotu zjistíte takto:

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

Pro ruční úpravu upravte /etc/mysql/mysql.conf.d/99-tuning.cnf a restartujte MySQL:

systemctl restart mysql

Přihlašovací údaje serveru

Heslo root pro MySQL je uloženo v /root/.mysql_credentials.

Co je předkonfigurováno

  • Vzdálený přístup: MySQL přijímá připojení z libovolné IP na portu 3306
  • InnoDB buffer pool: Automaticky nastaven na 50 % dostupné RAM při prvním startu
  • Performance schema: Na serverech s méně než 2 GB RAM vypnuto kvůli úspoře prostředků
  • Nahrávání v PHP: Max. velikost souboru 64 MB (pro importy v phpMyAdmin)

Zahrnutý software

Komponenta Verze
Ubuntu24.04 LTS
MySQL8.4 LTS (Oracle APT)
Apache2.4
PHP8.3
phpMyAdmin5.2
CertbotNejnovější
Fail2Ban1.0

Řešení problémů

Problém Řešení
Nelze se vzdáleně připojit k MySQL Zkontrolujte, že port 3306 neblokuje firewall. Ověřte, že uživatel má host '%' (ne 'localhost')
phpMyAdmin hlásí chybu přihlášení Ověřte heslo MySQL. Přihlašovací údaje root jsou v /root/.mysql_credentials
Import v phpMyAdmin selže (příliš velký soubor) Maximum nahrávání je 64 MB. Pro větší soubory použijte mysql -u root -p dbname < file.sql přes SSH
MySQL se nespustí Kontrola logů: journalctl -u mysql -n 50. Častá příčina: plný disk (df -h /)
Zapomenuté heslo root pro MySQL Připojte se přes SSH a zkontrolujte /root/.mysql_credentials
Blokováno službou Fail2Ban Odblokujte svou IP přes konzoli VNC v klientském panelu
Zapomenuté heslo root Obnovte jej přes konzoli VNC v klientském panelu