1. Úvod
1.1 Přehled MySQL a význam příkazové řádky
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í manipulace 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 jsou využívány naplno prostřednictvím příkazové řádky MySQL.
1.2 Účel tohoto článku
Tento článek se zaměřuje na operace v příkazové řádce MySQL, pokrývá vše od základního používání příkazů pro vytváření databází, správu a nastavení uživatelských oprávnění až po pokročilejší témata. Cílem je poskytnout začátečníkům i středně pokročilým uživatelům praktické znalosti pro efektivní používání MySQL.
1.3 Cílové publikum
Tento průvodce je určen pro začátečníky i středně pokročilé uživatele, kteří se zajímají o MySQL. Je ideální pro ty, kteří mají základní znalosti databází a chtějí MySQL využívat pro správu dat nebo vývoj webových aplikací.
2. Základní příkazy MySQL
2.1 Připojení a odpojení od databáze
Pro přístup k MySQL se nejprve musíte připojit k databázi. Nejčastěji používaný příkaz pro přihlášení k serveru MySQL je mysql -u root -p. Po spuštění tohoto příkazu se spustí server MySQL a pokusí se přihlásit s uvedeným uživatelem (v tomto případě root).
mysql -u root -p
Po zadání tohoto příkazu budete vyzváni k zadání hesla. Zadání správného hesla vám umožní přístup k příkazové řádce 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 na výzvu příkazového řádku.
2.2 Vytváření a prohlížení databází
Pro vytvoření nové databáze použijte příkaz CREATE DATABASE. Následuje příklad vytvoření databáze s názvem mysqldemo.
CREATE DATABASE mysqldemo;
Po provedení příkazu se zobrazí zpráva „Query OK“, která potvrzuje úspěšné vytvoření databáze.
Pro zobrazení seznamu vytvořených databází použijte příkaz SHOW DATABASES.
SHOW DATABASES;
Tento příkaz zobrazí seznam všech databází aktuálně umístěných na serveru.
2.3 Výběr databáze
Pokud existuje více databází, musíte specifikovat, s kterou chcete pracovat. Aktuální databázi můžete vybrat pomocí příkazu USE.
USE mysqldemo;
Tím se databáze mysqldemo nastaví jako aktuální cíl pro operace a následné příkazy budou prováděny proti této databázi.

3. Základní operace s tabulkami
3.1 Vytvoření tabulky
Pro uložení dat v databázi musíte nejprve vytvořit tabulku. K vytvoření nové tabulky použijte příkaz CREATE TABLE. Například pro vytvoření tabulky s názvem users napíšete následující příkaz:
CREATE TABLE users (
id INT AUTO_INCREMENT,
name VARCHAR(255),
email VARCHAR(255),
PRIMARY KEY (id)
);
V tomto příkazu jsou pro tabulku users definovány tři sloupce (id, name, email). Sloupec id je typu integer s povoleným automatickým navyšováním (AUTO_INCREMENT) a je označen jako primární klíč (PRIMARY KEY).
3.2 Prohlížení tabulek
Jakmile máte tabulky vytvořeny, můžete si zobrazit jejich seznam. Příkaz SHOW TABLES zobrazí všechny tabulky v aktuálně vybrané databázi.
SHOW TABLES;
Dále, 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 (povolení NULL, nastavení klíčů atd.) pro každý sloupec v tabulce users.
3.3 Přidává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í přidaný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 zabezpečení
4.1 Vytváření uživatelů a nastavení oprávnění
V MySQL je důležité vytvořit uživatele, kteří mohou přistupovat k databázi, a přidělit jim vhodná oprávnění. Pro vytvoření uživatele použijte příkaz CREATE USER. Níže uvedený příklad vytvoří nového uživatele user1 na localhost a nastaví jeho heslo na password123.
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';
Tento příkaz vytvoří nového uživatele s názvem user1, který může přistupovat pouze z localhost.
Pro přidělení oprávnění vytvořenému uživateli použijte příkaz GRANT. Například pro udělení všech oprávnění uživateli user1 na databázi mysqldemo postupujte následovně:
GRANT ALL PRIVILEGES ON mysqldemo.* TO 'user1'@'localhost';
Tento příkaz uděluje uživateli user1 plná oprávnění ke všem tabulkám v databázi mysqldemo. Pro aplikaci změn oprávnění v systému spusťte příkaz FLUSH PRIVILEGES.
FLUSH PRIVILEGES;
4.2 Změna hesel
Pro změnu hesla existujícího uživatele použijte příkaz UPDATE k aktualizaci tabulky user v databázi mysql. Níže je příklad změny hesla uživatele root na nové.
UPDATE mysql.user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';
FLUSH PRIVILEGES;
Tím se změní heslo uživatele root na newpassword. Provedení FLUSH PRIVILEGES aplikuje změny v systému.
4.3 Nejlepší postupy pro zvýšení zabezpečení
Pro zvýšení zabezpečení MySQL je nezbytné dodržovat následující osvědčené postupy:
- Odstraňte zbytečné anonymní uživatele : Smažte výchozí anonymní uživatele, aby k databázi mohli přistupovat pouze ověření uživatelé.
- Zakázat vzdálené přihlášení root : Pro vyšší zabezpečení zakažte vzdálené přihlášení uživatele
root. - Používejte silná hesla : Používejte silná, nepředvídatelná hesla a pravidelně je měňte.
Implementací těchto opatření se zlepší zabezpečení databáze a pomůže předcházet možné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, postupujte následovně:
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 rovno 1. Dávejte pozor, abyste neaktualizovali všechny záznamy v tabulce tím, že omylem vynecháte klauzuli WHERE.
Pro smazání dat použijte příkaz DELETE. Například pro smazání záznamu, kde je id rovno 1, postupujte následovně:
DELETE FROM users WHERE id = 1;
Tím se smaže záznam s id 1 z tabulky users.
5.2 Zálohování a obnovení
Pro vytvoření zálohy databáze použijte příkaz mysqldump. Tento příkaz exportuje celou databázi a uloží ji do SQL souboru. Například pro vytvoření zálohy databáze mysqldemo postupujte následovně:
mysqldump -u root -p mysqldemo > mysqldemo_backup.sql
Pro provedení obnovení použijte příkaz source. Níže je příklad obnovení databáze ze souboru mysqldemo_backup.sql.
mysql -u root -p mysqldemo < mysqldemo_backup.sql
Tento příkaz importuje obsah souboru mysqldemo_backup.sql do databáze mysqldemo.
5.3 Spouštění a zastavování serveru
Pro spuštění MySQL serveru z příkazové řádky použijte příkaz mysqld. Například ve Windows prostředí postupujte následovně:
"C:Program FilesMySQLMySQL Server 5.7binmysqld"
Pro zastavení serveru použijte příkaz mysqladmin.
"C:Program FilesMySQLMySQL Server 5.7binmysqladmin" -u root -p shutdown
Toto vypne MySQL server elegantně. Spouštění a zastavování z příkazové řádky je zvláště užitečné v prostředích, kde není k dispozici grafický nástroj.
6. Řešení problémů
6.1 Běžné chyby a řešení
Jedna běžná chyba při používání MySQL je chyba „Access denied for user“. K tomu dochází, když je zadané uživatelské jméno nebo heslo nesprávné. Pro vyřešení zkontrolujte uživatelské jméno a heslo a pokuste se přihlásit s správnými údaji.
Navíc se zobrazí chyba „Unknown database“, pokud zadaná databáze neexistuje. Použijte příkaz SHOW DATABASES k ověření, zda databáze existuje, a v případě potřeby ji vytvořte.
SHOW DATABASES;
CREATE DATABASE db_name;
6.2 Důležité poznámky a tipy pro operace s databází
Při provádění operací s databází je důležité věnovat pozornost následujícím bodům:
- Vytvářejte zálohy : Je nezbytné vždy vytvořit zálohu před prováděním operací s databází. To umožňuje obnovu i v případě, že jsou data omylem smazána.
- Používejte transakce : Při provádění více dotazů jako jedné operace používejte transakce k zachování integrity dat. K použití transakcí využijte příkazy
START TRANSACTION,COMMITaROLLBACK. - Specifikujte přesné podmínky : Při používání příkazů
UPDATEneboDELETEje důležité přesně zadat klauzuliWHERE. To zabraňuje neúmyslné úpravě nebo smazání záznamů.
Pokud budete mít tyto body na paměti, můžete předejít problémům s MySQL a provádět operace s databází bezpečně.
7. Závěr
Rozhraní MySQL v příkazové řádce je výkonný nástroj pro efektivní správu a operace s databázemi, od základních po pokročilé úkoly. Tento článek vysvětlil, jak používat základní příkazy MySQL, zahrnující vytváření databází, operace s tabulkami, správu uživatelů a aktualizaci a mazání dat.
Ve světě databází jsou bezpečnost a integrita dat nesmírně důležité. Proto je nutné dodržovat osvědčené postupy, jako je nastavení oprávnění uživatelů, správa hesel a vytváření záloh. Znalost řešení problémů také umožňuje rychlou reakci, když nastanou potíže.
Ovládnutím příkazů MySQL můžete provádět operace s databází efektivněji a bezpečněji. Praktikováním a aplikací získaných znalostí budete schopni provádět efektivní a zabezpečené operace s databází.


