1. Úvod
1.1 Přehled MySQL a proč je důležitý příkazový řádek
MySQL je široce používán jako open-source systém pro správu relačních databází (RDBMS). Mezi jeho hlavní výhody patří efektivní správa dat a flexibilní operace s daty pomocí SQL (Structured Query Language). Používá se v mnoha webových aplikacích i podnikových systémech a jeho výkonné funkce lze plně využít prostřednictvím příkazového řádku MySQL.
1.2 Účel tohoto článku
Tento článek se zaměřuje na operace v příkazovém řádku MySQL a vysvětluje vše od základních příkazů po pokročilejší použití, včetně vytváření a správy databází a konfigurace uživatelských oprávnění. Je zvláště určen k tomu, aby pomohl začátečníkům i středně pokročilým uživatelům získat praktické dovednosti a sebejistě používat MySQL.
1.3 Pro koho je tento průvodce určen
Tento průvodce je určen pro začátečníky až středně pokročilé uživatele, kteří mají zájem o MySQL. Je ideální pro ty, kteří mají základní znalosti databází a chtějí začít spravovat data nebo vytvářet webové aplikace pomocí MySQL.
2. Základní příkazy MySQL
2.1 Připojení k databázi a odpojení od ní
Pro přístup k MySQL se nejprve musíte připojit k databázovému serveru. Jedním z nejčastěji používaných příkazů pro přihlášení k serveru MySQL je mysql -u root -p. Po spuštění tohoto příkazu se spustí MySQL klient a pokusí se přihlásit jako zadaný uživatel (v tomto případě root).
mysql -u root -p
Po zadání tohoto příkazu budete vyzváni k zadání hesla. Pokud zadáte správné heslo, budete mít přístup k příkazovému řádku MySQL.
Pro odpojení použijte příkaz exit nebo quit.
exit
Tím se odhlásíte ze serveru MySQL a vrátíte se k výzvě příkazového řádku.
2.2 Vytváření a výpis databází
Pro vytvoření nové databáze použijte příkaz CREATE DATABASE. Následující příklad vytvoří databázi s názvem mysqldemo.
CREATE DATABASE mysqldemo;
Po spuštění příkazu uvidíte zprávu „Query OK“, která potvrzuje, že databáze byla úspěšně vytvořena.
Pro zobrazení seznamu databází, které jste vytvořili, použijte příkaz SHOW DATABASES.
SHOW DATABASES;
Tento příkaz zobrazí seznam všech databází, které jsou v současné době na serveru k dispozici.
2.3 Výběr databáze
Pokud existuje více databází, musíte specifikovat, s kterou chcete pracovat. Pomocí příkazu USE můžete vybrat databázi, na které chcete operovat.
USE mysqldemo;
Tím se mysqldemo nastaví jako aktuální databáze a všechny následující příkazy budou prováděny vůči této databázi. 
3. Základní příkazy pro tabulky
3.1 Vytvoření tabulky
Pro uložení dat v databázi nejprve potřebujete vytvořit tabulku. Použijte příkaz CREATE TABLE k vytvoření nové tabulky. Například pokud chcete vytvořit tabulku s názvem users, napište příkaz následovně.
CREATE TABLE users (
id INT AUTO_INCREMENT,
name VARCHAR(255),
email VARCHAR(255),
PRIMARY KEY (id)
);
Tento příkaz definuje tři sloupce (id, name a email) v tabulce users. Sloupec id je typu integer s povoleným automatickým navyšováním (AUTO_INCREMENT) a je určen jako primární klíč (PRIMARY KEY).
3.2 Výpis tabulek
Po vytvoření tabulek můžete zkontrolovat seznam tabulek v databázi. Pomocí příkazu SHOW TABLES můžete zobrazit všechny tabulky ve právě vybrané databázi.
SHOW TABLES;
Navíc, pokud chcete zkontrolovat strukturu konkrétní tabulky, použijte příkaz DESCRIBE. Ten zobrazí informace o sloupcích a datových typech v tabulce.
DESCRIBE users;
Tento příkaz vypíše datové typy a atributy (např. zda je povoleno NULL, nastavení klíčů atd.) pro každý sloupec v tabulce users.
3.3 Vkládání a prohlížení dat
Pro přidání dat do tabulky použijte příkaz INSERT INTO. Například pro přidání nového uživatele proveďte následující.
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
Tento příkaz vloží nový záznam do tabulky users a uloží zadané hodnoty do sloupců name a email.
Pro zobrazení vložených dat použijte příkaz SELECT. Pro zobrazení všech uživatelů použijte následující.
SELECT * FROM users;
Toto zobrazí seznam všech záznamů v tabulce users.
4. Správa uživatelů a bezpečnost
4.1 Vytváření uživatelů a nastavování oprávnění
V MySQL je důležité vytvořit uživatele, kteří mohou přistupovat k databázi, a udělit jim příslušná oprávnění. Pro vytvoření uživatele použijte příkaz CREATE USER. V následujícím příkladu je vytvořen nový uživatel user1 pro localhost s heslem nastaveným na password123.
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';
Tento příkaz vytvoří nového uživatele jménem user1 a uživatel se může připojit pouze z lokálního hostitele.
Pro udělení oprávnění vytvořenému uživateli použijte příkaz GRANT. Například pro udělení všech oprávnění na databázi mysqldemo uživateli user1 použijte následující.
GRANT ALL PRIVILEGES ON mysqldemo.* TO 'user1'@'localhost';
Tento příkaz udělí user1 plná oprávnění na všechny tabulky v databázi mysqldemo. Pro aplikaci změn oprávnění na systém spusťte příkaz FLUSH PRIVILEGES.
FLUSH PRIVILEGES;
4.2 Změna hesla
Pro změnu hesla existujícího uživatele použijte příkaz UPDATE k aktualizaci tabulky user v databázi mysql. Následující příklad změní heslo pro uživatele root na nové.
UPDATE mysql.user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';
FLUSH PRIVILEGES;
Toto změní heslo uživatele root na newpassword. Spuštěním FLUSH PRIVILEGES se změna aplikuje na systém.
4.3 Nejlepší postupy pro posílení bezpečnosti
Pro zlepšení bezpečnosti MySQL je důležité dodržovat tyto nejlepší postupy.
- Odstraňte nepotřebné anonymní uživatele : Smažte výchozí anonymní uživatele, aby k databázi měli přístup pouze autentizovaní uživatelé.
- Zakážte vzdálené přihlašování roota : Pro lepší bezpečnost zakažte přihlašování uživatele
rootz vzdálených hostitelů. - Používejte silná hesla : Používejte silná, těžko uhádnutelná hesla a měňte je pravidelně.
Implementací těchto opatření můžete zlepšit bezpečnost databáze a zabránit potenciálnímu neoprávněnému přístupu.

5. Pokročilé příkazy MySQL
5.1 Aktualizace a mazání dat
Pro aktualizaci dat v tabulce použijte příkaz UPDATE. Například pokud chcete aktualizovat sloupec name v tabulce users, proveďte následující.
UPDATE users SET name = 'Jane Doe' WHERE id = 1;
Tento příkaz změní hodnotu sloupce name na Jane Doe pro záznam, kde je id 1. Buďte opatrní: pokud vynecháte klauzuli WHERE, budou aktualizovány všechny záznamy v tabulce.
Pro mazání dat použijte příkaz DELETE. Například pro smazání záznamu, kde je id 1, použijte následující.
DELETE FROM users WHERE id = 1;
Toto smaže záznam s id rovnocenným 1 z tabulky users.
5.2 Zálohování a obnova
Pro vytvoření zálohy databáze použijte příkaz mysqldump. Tento příkaz exportuje celou databázi a uloží ji jako SQL soubor. Například pro zálohování databáze mysqldemo použijte následující.
mysqldump -u root -p mysqldemo > mysqldemo_backup.sql
Pro obnovu (zotavení) databáze použijte příkaz source. Následující příklad obnoví databázi ze souboru mysqldemo_backup.sql.
mysql -u root -p mysqldemo < mysqldemo_backup.sql
Tento příkaz importuje obsah mysqldemo_backup.sql do databáze mysqldemo.
5.3 Spouštění a zastavování serveru
Pro spuštění serveru MySQL z příkazového řádku použijte příkaz mysqld. Například v prostředí Windows můžete spustit následující.
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld"
Pro zastavení serveru použijte příkaz mysqladmin.
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqladmin" -u root -p shutdown
Tím se MySQL server správně zastaví. Spouštění a zastavování z příkazového řádku je zvláště užitečné v prostředích, kde nejsou k dispozici grafické nástroje.
6. Řešení problémů
6.1 Časté chyby a jak je opravit
Jedna běžná chyba, která se při používání MySQL vyskytuje, je chyba „Access denied for user“ (Přístup odmítnut pro uživatele). K tomu dochází, když je zadané uživatelské jméno nebo heslo nesprávné. Pro opravu zkontrolujte uživatelské jméno a heslo a zkuste se znovu přihlásit s platnými údaji.
Další chyba, „Unknown database“, se objeví, když zadaná databáze neexistuje. Použijte příkaz SHOW DATABASES, abyste ověřili, zda databáze existuje, a pokud ne, vytvořte ji.
SHOW DATABASES;
CREATE DATABASE db_name;
6.2 Tipy a opatření pro práci s databází
Při práci s databází byste měli věnovat pozornost následujícím bodům.
- Provádějte zálohy: Před prováděním operací s databází vždy vytvořte zálohu. To vám umožní obnovit data, pokud omylem něco smažete.
- Používejte transakce: Když spouštíte více dotazů jako jednu operaci, použijte transakce k zachování integrity dat. Pro použití transakcí spusťte
START TRANSACTION,COMMITaROLLBACK. - Přesně specifikujte podmínky: Při použití
UPDATEneboDELETEje důležité správně zadat klauzuliWHERE. To pomáhá zabránit nechtěným úpravám nebo smazáním.
Dodržováním těchto opatření můžete předem předejít problémům s MySQL a bezpečně spravovat databáze.
7. Závěr
Příkazová řádka MySQL je výkonný nástroj pro efektivní provádění všeho od základní správy databází po pokročilé operace. V tomto článku jsme pokryli základní příkazy MySQL, včetně vytváření databází, práce s tabulkami, správy uživatelů a aktualizace či mazání dat.
Ve světě databází jsou bezpečnost a integrita dat nesmírně důležité. Z tohoto důvodu je nutné dodržovat osvědčené postupy, jako je konfigurace uživatelských oprávnění, správná správa hesel a pravidelné zálohování. Navíc znalost řešení problémů vám pomůže rychle reagovat, když se objeví potíže.
Ovládnutím příkazů MySQL můžete spravovat databáze efektivněji a bezpečněji. Pokračujte v praxi a aplikaci toho, co jste se naučili, abyste získali jistotu v bezpečném a účinném provozu databází.


