Pouze pro návštěvníky našeho blogu Získejte další 3 měsíce zdarma + 10% slevu na tříletý plán YSBLOG10
Chyťte dohodu

Jak nainstalovat MySQL na Linuxovém serveru (podrobný návod 2026)

Chcete-li nainstalovat MySQL na linuxovém serveru, aktualizujte index balíčků, nainstalujte MySQL Serverový balíček, spusťte a povolte službu, spusťte příkaz mysql_secure_installation pro posílení zabezpečení a vytvořte databázi a uživatele. V Ubuntu/Debianu použijte apt; v RHEL/CentOS/Rocky/AlmaLinux použijte dnf/yum nebo oficiální příkaz. MySQL repozitář pro nejnovější verzi.

Instalace MySQL na Linuxovém serveru je instalace jednoduchá, pokud budete postupovat podle správných kroků. V této příručce se naučíte, jak ji nainstalovat MySQL na distribucích založených na Ubuntu/Debianu a RHELu jej zabezpečte pro produkční prostředí, povolit vzdálený přístup, vyladit základní výkon a ověřit, zda vše funguje – pomocí příkazů, které můžete bezpečně zkopírovat a spustit. Tento tutoriál odráží praktické postupy používané na klientských serverech v YouStable.

Předpoklady a systémové požadavky

Než začnete, ujistěte se, že váš Linuxový server splňuje základní požadavky a máte správný přístup.

  • Oprávnění root nebo sudo na serveru.
  • Podporované distribuce: Ubuntu 20.04/22.04/24.04; Debian 11/12; RHEL/CentOS 7/8/9; Rocky/AlmaLinux 8/9.
  • Síťový přístup k repozitářům balíčků a portu 3306 (pokud se budou připojovat vzdálení klienti).
  • Alespoň 1 GB RAM pro malé úlohy; pro produkční prostředí se doporučuje 2 GB+.
  • Přesný čas serveru (NTP) pro zamezení problémů s replikací/TLS.

Vybrat správně MySQL Edice a repozitář

Většina linuxových repozitářů nabízí buď MySQL nebo MariaDB. Pro nejnovější MySQL 8 funkcí, zvažte oficiální MySQL repozitář. Pokud je preferována stabilita s integrací distribuce, použijte výchozí repozitáře. Rozhodněte se na základě požadavků aplikace, kompatibility ovladačů a dlouhodobých cílů údržby.

MySQL vs. MariaDB (rychlý popis)

  • MySQL 8.0: Silný JSON, okenní funkce, role, výchozí ověřování caching_sha2_password, zaměření na InnoDB.
  • MariaDB: Komunitně řízený fork, často standardně dodáván v distribucích podobných RHEL, mírně odlišné funkce a systémové proměnné.
  • Tip: Přizpůsobte svůj výběr požadavkům aplikace. Ne všechny funkce a replikační chování jsou zaměnitelné.

instalovat MySQL na Ubuntu/Debianu

Na distribucích založených na Debianu můžete nainstalujte výchozí nastavení repozitáře MySQL Server (často MySQL 8 na novějším Ubuntu) nebo použijte repozitář APT od Oracle pro nejnovější verzi GA.

Možnost A: Instalace MySQL z repozitářů Ubuntu/Debianu

sudo apt update
sudo apt install -y mysql-server
sudo systemctl enable --now mysql
sudo systemctl status mysql --no-pager

Spusťte skript pro zabezpečenou instalaci, kterým nastavíte heslo uživatele root, odstraníte testovací databáze a zakážete anonymní uživatele:

sudo mysql_secure_installation

V závislosti na distribuci, MySQL Uživatel root se může ověřit přes socket (bez hesla) nebo pomocí hesla. Pokud potřebujete ověřování heslem, nastavte jej explicitně po přihlášení pomocí sudo:

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'StrongRootPass#2025';
FLUSH PRIVILEGES;
EXIT;

Možnost B: Nainstalujte nejnovější verzi MySQL 8 prostřednictvím oficiálního APT repozitáře

Pro nejnovější MySQL Verze GA a nástroje jako MySQL V prostředí Shell použijte repozitář Oracle APT:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb   # Select MySQL Server & Tools
sudo apt update
sudo apt install -y mysql-server
sudo systemctl enable --now mysql

Nahraďte verzi konfiguračního balíčku APT nejnovější verzí ze stránky dev.mysql.com. Poté spusťte zabezpečenou instalaci, jak je uvedeno dříve.

instalovat MySQL na RHEL/CentOS/Rocky/AlmaLinux

Systémy podobné RHEL mohou standardně dodávat MariaDB. Abyste se ujistili, že instalujete MySQL, použijte MySQL Repozitář Yum nebo modul AppStream, pokud je k dispozici.

Možnost A: Použijte oficiální MySQL Repozitář Yum/DNF

# Download and install the MySQL repo package (example for EL8/EL9)
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf module disable -y mysql mariadb || true
sudo dnf clean all
sudo dnf install -y mysql-community-server

sudo systemctl enable --now mysqld
sudo systemctl status mysqld --no-pager

Při prvním spuštění, MySQL může v protokolu vygenerovat dočasné heslo root. Získejte ho a poté spusťte zabezpečenou instalaci:

sudo grep 'temporary password' /var/log/mysqld.log
sudo mysql_secure_installation

Možnost B: Použití modulu AppStream (pokud MySQL 8 je k dispozici)

sudo dnf module list mysql
sudo dnf module enable -y mysql:8.0
sudo dnf install -y @mysql
sudo systemctl enable --now mysqld

Ověřte, zda je služba spuštěná, a zabezpečte ji výše uvedeným způsobem.

Počáteční konfigurace a osvědčené postupy

Vytvořte databázi a uživatele s nejnižšími oprávněními

Pro každou aplikaci použijte vyhrazeného uživatele s minimálními oprávněními. Nahraďte zástupné symboly vlastními hodnotami.

sudo mysql -u root -p

-- Inside MySQL shell:
CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongAppPass#2025';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Úvahy o pluginech pro ověřování

MySQL 8 má výchozí nastavení caching_sha2_password. Někteří starší klienti podporují pouze mysql_native_password. V případě potřeby jej nastavte pro každého uživatele (ne globálně), abyste předešli oslabení zabezpečení všech účtů:

ALTER USER 'appuser'@'localhost'
  IDENTIFIED WITH mysql_native_password BY 'StrongAppPass#2025';
FLUSH PRIVILEGES;

Povolit vzdálený přístup (volitelné)

Vzdálený přístup povolte pouze v nezbytných případech a omezte jej podle IP adresy. Aktualizujte odpovídajícím způsobem bind-adresu a firewall.

  • Konfigurační soubor Ubuntu/Debianu: /etc/mysql/mysql.conf.d/mysqld.cnf
  • Konfigurační soubor podobný RHEL: /etc/my.cnf nebo /etc/my.cnf.d/mysqld.cnf
# In the [mysqld] section:
bind-address = 0.0.0.0
# or comment the bind-address line to listen on all interfaces

Restart MySQL a vytvořte uživatele omezeného na IP adresu vašeho aplikačního serveru:

sudo systemctl restart mysql   # Ubuntu/Debian
# or
sudo systemctl restart mysqld  # RHEL-like

sudo mysql -u root -p
CREATE USER 'appuser'@'203.0.113.10' IDENTIFIED BY 'StrongAppPass#2025';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'203.0.113.10';
FLUSH PRIVILEGES;
EXIT;

Otevřete port firewallu 3306 (pokud je potřeba vzdálený přístup)

# UFW (Ubuntu):
sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp

# firewalld (RHEL-like):
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port protocol="tcp" port="3306" accept' --permanent
sudo firewall-cmd --reload

Používejte seznam povolených IP adres místo otevírání adresy 3306 světu. Pokud SELinux vynucuje, povolte ji. MySQL pro připojení přes síť, kde je to relevantní:

# Example SELinux adjustment (if needed for network access):
sudo setsebool -P mysql_connect_any 1

Ověření instalace a rychlé řešení problémů

Kontrola verze a stavu služby

mysql --version
systemctl status mysql   # Ubuntu/Debian
systemctl status mysqld  # RHEL-like

# Connect and show databases
mysql -u root -p -e "SHOW DATABASES;"

Protokoly a běžné problémy

  • Soubory protokolu: /var/log/mysql/error.log (Ubuntu/Debian), /var/log/mysqld.log (podobný RHEL).
  • Používaný port: Ujistěte se, že žádná jiná služba není vázána na port 3306 (použijte ss -lntp | grep 3306).
  • Chyby autorizace: Potvrďte správný plugin, hostitele (např. localhost vs. %) a heslo.
  • Paměť: U malých serverů snižte velikost vyrovnávací paměti, abyste zabránili ukončením OOM.

Základní ladění výkonu (bezpečné výchozí hodnoty)

Na malých serverech začněte konzervativně a upravujte postup podle pracovní zátěže a pomalého protokolu dotazů.

# Add to mysqld section (paths differ by distro)
innodb_buffer_pool_size = 512M
innodb_log_file_size    = 256M
innodb_flush_log_at_trx_commit = 1
max_connections         = 200
thread_cache_size       = 50
query_cache_type        = 0    # MySQL 8 ignores query cache; ensure disabled
slow_query_log          = 1
slow_query_log_file     = /var/log/mysql/slow.log
long_query_time         = 1

Po změnách restartujte MySQL a monitorovat výkon pomocí funkce SHOW GLOBAL STATUS, pomalé protokoly a doby odezvy aplikací.

Zálohy a údržba

Logické zálohy (mysqldump/mysqlpump)

# Backup one database
mysqldump -u root -p --routines --triggers --single-transaction appdb > appdb_$(date +%F).sql

# Restore
mysql -u root -p appdb < appdb_YYYY-MM-DD.sql

Pro velké datové sady nebo obnovu v daném časovém bodě zvažte MySQL Enterprise Backup nebo Percona XtraBackup (fyzické zálohy). Obnovy vždy testujte.

Aktualizace a opravy

  • Naplánujte si údržbová okna pro upgrady dílčích verzí.
  • Před opravou si zálohujte.
  • Ubuntu/Debian: aktualizace sudo apt a upgrade sudo apt.
  • Podobné jako RHEL: sudo dnf update nebo sudo yum update.
  • Projděte si poznámky k verzi, zda neobsahují změny v ověřování nebo replikaci.

Zajistěte si MySQL pro výrobu

  • Spusťte mysql_secure_installation a nastavte silná, jedinečná hesla.
  • Zakázat vzdálené přihlášení root; vytvořit administrátorské uživatele s omezenou IP adresou.
  • Pro připojení klientů použijte TLS (nakonfigurujte ssl_cert, ssl_key a ssl_ca v mysqld).
  • Udělte co nejméně oprávnění; vyhněte se GRANT ALL na *.* pro uživatele aplikace.
  • Otočte přihlašovací údaje a odstraňte nepoužívané účty/databáze.
  • Povolte protokol pomalých dotazů a pravidelně jej kontrolujte.

Příklad z reálného světa: Aplikace + databáze na samostatných serverech

  • Vytvořte uživatele aplikace s omezením na IP adresu aplikačního serveru.
  • Otevřete port 3306 pouze pro danou IP adresu (UFW nebo firewalld).
  • Svázat MySQL na 0.0.0.0 a vynutit TLS pro produkční provoz.
  • Monitorujte připojení pomocí performance_schema a přihlašovací údaje v protokolech chyb.
  • Nastavte konzistentní čas serveru (NTP) pro přesné protokoly a zálohy.

Kdy zvolit spravovaný hosting nebo odbornou pomoc

Pokud se raději zaměříte na svou aplikaci než na údržbu databáze, zvažte managed servery nebo optimalizovaný hosting. YouStablehostingové plány jsou naladěny na MySQLa zahrnují pokyny k bezpečné konfiguraci, ladění výkonu a strategii zálohování – ideální pro WordPress, LAMP/LEMP stacky a SaaS úlohy.

Kompletní tahák na příkazy

# Ubuntu/Debian quick install
sudo apt update && sudo apt install -y mysql-server
sudo systemctl enable --now mysql
sudo mysql_secure_installation

# RHEL/CentOS/Rocky/Alma quick install (MySQL repo)
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf module disable -y mysql mariadb || true
sudo dnf install -y mysql-community-server
sudo systemctl enable --now mysqld
sudo mysql_secure_installation

# Create DB and user
sudo mysql -u root -p -e "
CREATE DATABASE appdb;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongAppPass#2025';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;"

# Open firewall for one host (examples)
sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port protocol="tcp" port="3306" accept' --permanent
sudo firewall-cmd --reload

Často kladené otázky: Instalace MySQL na Linuxovém serveru

Jak nainstaluji MySQL na Ubuntu?

Spusťte příkaz sudo apt update a poté sudo apt install -y mysql-server. Povolte a spusťte službu pomocí sudo systemctl enable –now mysql. Nakonec ji zabezpečte pomocí sudo mysql_secure_installation. Pro nejnovější verzi MySQL 8. Před instalací přidejte repozitář Oracle APT z dev.mysql.com.

Jaké je výchozí nastavení MySQL heslo roota v Linuxu?

V Ubuntu/Debianu se root může autentizovat přes socket (bez hesla) nebo vás vyzvat k jeho nastavení během instalace mysql_secure_install. Na systémech podobných RHEL s použitím MySQL repozitář, po prvním spuštění se do /var/log/mysqld.log zaznamená dočasné heslo roota.

Jak povolím vzdálená připojení k MySQL?

Změnit MySQL config pro naslouchání na 0.0.0.0 (bind-adresa), přidejte uživatele s omezeným přístupem na IP adresu vašeho klienta a otevřete port 3306 na firewallu pouze pro tuto IP adresu. Restartujte. MySQL a otestujte pomocí mysql -h DB_HOST -u USER -p. Vždy se vyhněte veřejnému zveřejnění hodnoty 3306.

Is MySQL Nebo MariaDB lepší pro Linuxové servery?

Oba jsou pevné. Vyberte si MySQL 8 pro nejnovější funkce podporované společností Oracle a širokou kompatibilitu s ekosystémem. Zvolte MariaDB, pokud dáváte přednost vývoji řízenému komunitou nebo je to výchozí verze ve vaší distribuci. Před přechodem ověřte podporu ovladačů vaší aplikace.

Jak mohu úplně odstranit MySQL z Linuxu?

V Ubuntu/Debianu: sudo apt purge -y mysql-server mysql-common; poté sudo apt autoremove -y a odstraňte zbývající data z /var/lib/mysql (po zálohování). V RHEL-like: sudo dnf remove -y mysql* a vyčistěte všechny zbývající konfigurační soubory, poté v případě potřeby smažte /var/lib/mysql.

Jak resetovat ztracený MySQL heslo roota?

Stop MySQL, spusťte to pomocí –skip-grant-tables, připojte se bez hesla, aktualizujte root heslo uživatele, poté normálně restartujte. Postupujte podle oficiálních pokynů MySQL 8 dokumentace s přesnými kroky ve vaší distribuci. Během procesu se ujistěte, že jste omezili přístup k serveru.

Co dělá port MySQL používat a mám to změnit?

MySQL používá TCP port 3306. Můžete ho změnit, ale zabezpečení by se mělo spoléhat na silné ověřování, TLS, firewally a seznam povolených IP adres. Pokud port změníte, aktualizujte firewally, SELinux a připojovací řetězce aplikací odpovídajícím způsobem.

S těmito kroky můžete s jistotou provést instalaci MySQL na linuxovém serveru, zabezpečte ho a připravte ho na produkční úlohy. Pokud chcete hosting s podporou odborníků, který je vyladěn pro MySQL a WordPress, YouStable vám může pomoci s nasazením, optimalizací a údržbou vašeho stacku pomocí osvědčených postupů od prvního dne.

Sdílet přes:

Prahlad Prajapati

Prahlad je specialista na webhosting a expert na organický růst zaměřený na SEO z Indie. V digitálním prostoru působí od roku 2019 a pomáhá lidem rozvíjet jejich webové stránky pomocí čistých a udržitelných strategií. Je nadšený pro učení a rychlou adaptaci a věří, že malé detaily vedou k velkému úspěchu. Objevte jeho poznatky o webhostingu a SEO, které vám pomohou vylepšit vaši online prezentaci.

Zanechat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

Přejděte na začátek