Tento článek vysvětluje MySQL a jak v tomto nástroji spravovat uživatele a databáze.
Co je MySQL?
Databáze jsou organizované kolekce dat. Můžete je použít k ukládání čistých dat, jako jsou informace o kreditních kartách, ID produktů, ceny, seznamy věcí a tak dále. Nebudete však ukládat složitější věci, jako jsou obrázky, soubory nebo dokumenty. Pokud to pomůže, je to trochu jako Microsoft®, Excel®, kde zkopírujete pouze nezpracovaná data, abyste je mohli později uložit, zpracovat nebo načíst. A MySQL® je velmi běžně používaný typ databáze Linux®.
MySQL versus MariaDB
Možná máte nainstalovanou MySQL, ale vypadá to, že se jmenuje MariaDB®. Když Oracle® získal MySQL v roce 2010, původní zakladatelé poté vytvořili MariaDB jako náhradu za podobnou pro případ, že Oracle ukončí MySQL. Takže MySQL a MariaDB jsou z velké části stejné a zaměnitelné. Informace v tomto článku platí pro oba.
Zkontrolujte verzi
Chcete-li zkontrolovat verzi databáze, spusťte následující příkaz:
# mysql -v
Přihlaste se
Přihlaste se do databáze pomocí jedné z následujících metod:
Metoda 1:SSH se přihlaste jako root a poté se přihlaste do MySQL
Pokud je to již výchozí možnost, zvažte její ponechání. Pokud ne, vytvořte následující soubor pomocí zvoleného textového editoru:
# vim /root/.my.cnf
[client]
user=root
password=<password>
Nebo chcete-li, můžete jej místo toho vytvořit pomocí:
# echo -e "\n[client]\nuser=root\npassword=<PASSWORD>" >> /root/.my.cnf
SecureShell (SSH) na váš server jako root
a přihlaste se k MySQL spuštěním následujícího příkazu:
# mysql
Metoda 2:SSH na server, poté se přihlaste do MySQL
Pokud nejprve na svůj server připojíte SSH, váš uživatel se připojí k MySQL z localhost
protože jste již na počítači s MySQL.
Přihlaste se z localhost spuštěním následujícího příkazu:
# mysql -u <USER> -p
Metoda 3:Připojte se přímo k MySQL
Pokud se chcete ze svého počítače připojit přímo k MySQL, potřebujete název hostitele nebo IP adresu serveru MySQL. Poté spusťte následující příkaz:
# mysql -h <HOSTNAME_OR_IP> -u <USER> -p
Zástupné znaky v MySQL
V softwaru je zástupný znak druh zástupného symbolu reprezentovaného hvězdičkou (*). Tento *
může znamenat libovolnou kombinaci písmen/čísel/symbolů, takže „12345“ můžete reprezentovat jako 1* or *3* or *5
. Pokud například chcete najít jméno začínající na písmeno M, můžete hledat M*
.
V MySQL je zástupným znakem symbol procenta (%).
Například spuštěním následujícího příkazu vyhledejte všechny databáze končící na slovo schéma :
> show databases like "%schema";
Běžné příkazy MySQL
Toto jsou některé běžné příkazy MySQL:
Poznámka: Všechny příkazy MySQL ukončete středníkem (; ).
Seznam databází:
> show databases;
Vytvoření databáze:
> create database <DATABASE>;
Smazat databázi:
> drop database <DATABASE>;
Běžné příkazy související s uživateli
Všichni uživatelé se odněkud připojují. Pokud se hostitelé zobrazují jako localhost , připojili se nejprve k serveru a poté k MySQL. Pokud se zobrazuje jako IP adresa, jsou připojeni přímo k MySQL.
Zobrazit uživatele DB:
> select user, host from mysql.user;
Zobrazit uživatele DB a šifrovaná hesla:
> select user, host, password from mysql.user;
Vytvořit uživatele s úplnými oprávněními:
> grant all on *.* to sher@localhost identified by "sdF5";
Může to být pro localhost, IP adresu nebo % všude (což nedoporučujeme):
> grant all on *.* to [email protected] identified by "sdF5";
Přejmenovat uživatele nebo změnit hostitele:
> rename user user@ip1 to user@ip2;
Obnovit:
> flush privileges;
Příkazy oprávnění, udělení a oprávnění
V MySQL neplatí běžná pravidla pro čtení, zápis a spouštění založená na Linuxu. Místo toho přidělujete uživatelům oprávnění jako privilegia nebo granty , který je mnohem podrobnější a konkrétnější. V následujících částech je uvedeno několik příkladů:
Zobrazit uživatelská oprávnění:
> show grants for '<user>'@<localhost/IP>;
Přidat uživatelská oprávnění:
> GRANT SELECT,INSERT,UPDATE on <database>.* to <user>@<localhost/IP>;
Odebrat všechna uživatelská oprávnění:
> revoke ALL on *.* from <user>@<localhost/IP>;
Vytvořte databázi a přidejte do ní uživatele (čtení/zápis znamená vše):
> create database dbase;
> grant all on dbase.* to <user>@<localhost/IP> identified by 'passwd';
Granty
Následující seznam ukazuje některé běžné granty MySQL:
- VŠECHNA PRIVILEGIA :Veškerý přístup (ke konkrétní DB / všemu)
- VYTVOŘIT :Vytvořte nové tabulky / DB
- DROP :Odstranit tabulky / DB
- SMAZAT :Odstranit řádky z tabulek
- INSERT :Vkládání řádků do tabulek
- VYBRAT :Pomocí příkazu Vybrat můžete číst DB (pouze pro čtení)
- AKTUALIZACE :Aktualizace řádků tabulky
- POUŽITÍ :Žádná oprávnění, výchozí
- MOŽNOST UDĚLENÍ :Udělení nebo odebrání oprávnění ostatním uživatelům
- CRUD :Vytvořit, Číst, Aktualizovat, Smazat
Pomocí karty Zpětná vazba můžete přidat komentáře nebo položit otázky. Můžete s námi také zahájit konverzaci.