Jak nainstalovat MySQL na Ubuntu 20.04
MySQL je jedna z nejpopulárnějších open source databází. Je známá svým výkonem, spolehlivostí a škálovatelností a používá se v mnoha různých oblastech, od malých webhostingových systémů až po velké podniky. V tomto článku vám krok za krokem vysvětlíme, jak nainstalovat MySQL na Ubuntu 20.04, abyste mohli nastavit spolehlivý systém pro správu databází.
Jaké jsou požadavky pro instalaci MySQL na Ubuntu 20.04?
Systémové požadavky pro instalaci MySQL na Ubuntu 20.04 jsou relativně nízké a měly by být splněny na většině moderních desktopových a serverových systémů. Je důležité si uvědomit, že požadavky se mohou lišit v závislosti na zamýšleném účelu a rozsahu databáze. Pokud například chcete provozovat náročnou aplikaci, která využívá velké databáze nebo složité dotazy, bude pro zajištění dobrého výkonu zapotřebí více paměti RAM a vyšší výpočetní výkon. Měli byste také mít dostatek místa na pevném disku, abyste mohli v budoucnu přidávat další databáze.
Měli byste zkontrolovat konfiguraci sítě a nastavení brány firewall, abyste zajistili hladkou komunikaci mezi serverem MySQL a klienty. Server MySQL by měl mít statickou IP adresu, aby se předešlo problémům s připojením.
Zde jsou minimální požadavky pro instalaci MySQL:
- Procesor (CPU): architektura x86-64, min. 1 GHz (dvoujádrový)
- RAM: min. 1 GB
- Operační systém: Ubuntu 20.04, uživatelský účet s oprávněními sudo a root
- Firewall: otevřený port MySQL 3306
- Místo na pevném disku: min. 500 MB
- Připojení k internetu: Nutné pro stahování balíčků a připojení k serveru MySQL
Podrobný návod, jak nainstalovat MySQL na Ubuntu 20.04
MySQL lze nainstalovat na Ubuntu 20.04 pomocí systému správy balíčků APT (Advanced Package Tool). Po instalaci je třeba jej nastavit a nakonfigurovat, k čemuž budete potřebovat heslo root a přístup k externím klientům. Níže vám ukážeme krok za krokem, jak nainstalovat MySQL na Ubuntu 20.04.
Krok 1: Aktualizujte index balíčků
Nejprve je dobré se ujistit, že váš seznam balíčků je aktuální. K tomu můžete použít následující příkaz:
$ sudo apt updatebashKrok 2: Nainstalujte server MySQL
Dále nainstalujte balíček serveru MySQL pomocí APT:
$ sudo apt install mysql-serverbashChcete-li zkontrolovat, zda server běží, můžete jej spustit ručně pomocí příkazu systemctl.
$ sudo systemctl start mysql.servicebashKrok 3: Konfigurace MySQL
MySQL po instalaci nesplňuje doporučené bezpečnostní standardy. Chcete-li tento problém vyřešit, použijte skript nabízený MySQL k změně nastavení, aby byl server lépe chráněn. Tím se nastaví heslo root, odstraní anonymní uživatelé a omezí vzdálený přístup.
Abyste zajistili správné provedení skriptu, budete muset přijmout určitá opatření. Aplikace bude chtít změnit heslo pro účet root, který je ve výchozím nastavení Ubuntu deaktivován. Abyste se vyhnuli chybě, budete muset upravit metodu ověřování uživatelů root.
Chcete-li to provést, spusťte příkazový řádek MySQL:
$ sudo mysqlbashPomocí příkazu ALTER USER nastavte heslo pro uživatele root:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';bashZavřete příkazový řádek MySQL:
mysql> exitbashSpusťte bezpečnostní skript:
$ sudo mysql_secure_installationbashPro ověření uživatele root zadejte následující příkaz:
$ mysql -u root -pbashPo dokončení skriptu můžete znovu změnit standardní metodu ověřování:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;bashTo vám umožní znovu se připojit pomocí příkazu sudo mysql.
Krok 4: Nastavení uživatelů MySQL
Instalace MySQL vytvoří uživatele root, který má všechna oprávnění pro server MySQL a úplnou kontrolu nad databázemi, tabulkami a uživateli. Pro zvýšení bezpečnosti byste měli vytvořit uživatele s omezenými oprávněními.
K tomu otevřete příkazový řádek MySQL:
$ sudo mysqlbashPokud jste jako metodu ověřování nastavili heslo, použijte následující:
$ mysql -u root -pbashNyní vytvořte nového uživatele pro MySQL:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';bashZadejte své uživatelské jméno místo „username“ a název svého hostitele místo „host“. Pokud používáte Ubuntu lokálně, zadejte localhost. Výraz „WITH authentication_plugin“ je volitelný. Plugin „auth_socket“ má silná bezpečnostní nastavení a pro přihlášení nevyžaduje heslo.
Pokud není uvedeno jinak, MySQL používá pro ověřování plugin „caching_sha2_password“. Některé verze PHP však s ním nejsou kompatibilní. Místo něj můžete použít osvědčený plugin „mysql_native_password“:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashNebo použijte funkci „alter“ pro existujícího uživatele:
mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashKrok 5: Přiřaďte oprávnění
Nyní je čas nastavit, jaká oprávnění bude mít nový uživatel. Syntaxe pro to je:
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';bashOprávnění se oddělují čárkou. Chcete-li udělit globální oprávnění, nahraďte „database.table“ hvězdičkou „*“.
V následujícím příkladu udělujeme uživateli oprávnění k vytváření (CREATE), úpravám (ALTER) a mazání (DROP) databází a k vkládání (INSERT), výběru (SELECT), aktualizaci (UPDATE) a mazání (DELETE) dat v tabulce.
mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;bash„S MOŽNOSTÍ UDĚLENÍ PRÁV“ uděluje uživateli oprávnění udělit práva, která má, dalším uživatelům.
Nyní vyprázdněte mezipaměť pomocí příkazu „FLUSH PRIVILEGES“:
mysql> FLUSH PRIVILEGES;bashPoté můžete zavřít příkazový řádek MySQL:
mysql> exitbashNyní se můžete přihlásit pomocí nového uživatelského jména:
$ mysql -u username -pbashKrok 6: Otestujte MySQL
Zkontrolujte, zda MySQL běží správně, například pomocí správce systému Systemd:
$ systemctl status mysql.servicebashAlternativně se můžete připojit k databázi MySQL. Následující příkaz vás přihlásí do MySQL a zobrazí verzi serveru:
$ sudo mysqladmin -p -u username versionbash