klient konzole mysql. MySQL - příkazy konzoly Windows

Hezký den, kolegové :)

Ano, přesně kolegové, protože pro pouhého smrtelníka není pravděpodobně užitečný příkazový řádek MySQL (nebo MySQL Shell, jak to vývojáři také rádi nazývají), stejně jako práce s MySQL v konzoli.

Aby toto téma bylo zajímavé, musíte být minimálně začínající správce systému, který zásadně nepoužívá phpMyAdmin a další rozhraní.

Spuštění konzole na jiném OS

Protože budu demonstrovat, jak používat příkazový řádek MySQL v konzole serveru, bylo by dobré začít nejprve s ním.

Akce je jednoduchá, známá mnohým, pro kterou stačí znalost „horkých kláves“.

Spuštění konzole ve Windows:

  • Win+R pro otevření příkazového řádku Windows s právy správce;
  • Zadejte příkaz cmd
  • Klikněte Vstupte na klávesnici

Spuštění konzole v distribucích Linuxu (terminál): v Ubuntu, se kterým jsem pracoval, stačí kombinace systémových kláves Ctrl+Alt+T. Nemohu říci nic o jiných operačních systémech založených na Linuxu.

Spuštění konzole na MacOS: Sám jsem to neudělal, protože... Ještě jsem si nepořídil Mac a je nepravděpodobné, že si ho pořídím, protože ho nepotřebuji, ale pokud jsem byl schopen zjistit, v tomto OS neexistují žádné „horké klávesy“ pro volání terminálu. Pokud jste tedy uživatelem produktů Apple, tak konzoli spusťte přes rozhraní OS, naštěstí je na internetu mnoho návodů.

Je trochu trapné vůbec takové informace zveřejňovat v případě, že nějaký profesionální správce systému s bohatými zkušenostmi náhodou narazí na tento článek, protože pomyslí si: „Autor považuje své čtenáře za programátory, ale zároveň učí, jak spustit konzoli... Nějaké psycho :-).“

Ano, celkem logické :) Ale jen beru v úvahu situaci, že se sem spolu s profesionálními vývojáři mohou dostat i začátečníci. Proto se snažím, aby informace byly úplné a dostupné všem kategoriím uživatelů, jak jsem již zmínil.

Základní příkazy konzoly MySQL

Nejprve tedy potřebujeme přistupovat k příkazovému řádku MySQL v konzole. Chcete-li to provést, otevřete konzolu serveru a pokud máte MySQL nainstalovanou globálně jako službu, pak pro „kontrolu připojení“ napíšeme následující:

Mysql -V

Příkaz konzole mysql nám umožňuje spustit stejnojmenný nástroj, což je příkazový řádek MySQL.

To nám umožní zjistit verzi MySQL nainstalovanou v počítači a ujistit se, že je vůbec nainstalována jako služba. Pokud je tomu tak, uvidíte v konzoli něco jako následující text: .

Ano, nejsem "šílený kodér", protože používám Windows :) Ale o to nejde. Na unixových systémech bude postup stejný.

Pokud najednou není MySQL na vašem počítači nainstalována globálně nebo potřebujete pracovat s několika verzemi MySQL, ve kterých jsou pouze adresáře se soubory a knihovnami MySQL, bude spuštění MySQL přes konzoli vypadat takto.

V konzole přejděte do adresáře, kde se nachází spustitelný soubor MySQL (ve Windows, alespoň je to mysql.exe) pomocí následujícího příkazu:

Cd C:\OpenServer\modules\database\MySQL-5.7-x64\bin

Vaše cesta k distribuci může být přirozeně odlišná. Jako příklad jsem se rozhodl spustit jednu z verzí MySQL, která je součástí OpenServeru.

A spouštíme MySQL a průběžně kontrolujeme jeho verzi:

Mysql.exe -V

V důsledku toho se v konzole měla zobrazit zpráva podobná prvnímu případu mysql Ver 14.14 Distrib 5.7.16, pro Win64 (x86_64).

To je vše, vyřešili jsme spouštění MySQL z příkazového řádku přes konzolu serveru, nyní se připojíme přímo k serveru MySQL.

Připojení k serveru MySQL v konzole

Server MySQL nemusí být nutně na stejném počítači, na kterém se k němu pokoušíte přistupovat v konzole. Proto, aby bylo možné připojit se ke vzdálenému serveru MySQL přes konzoli, má utilita mysql mnoho parametrů, pomocí kterých můžete zadat potřebná nastavení.

Aby bylo možné spustit příkazový řádek MySQL v konzole, musíme do konzoly serveru napsat následující:

V tomto případě se však zobrazí následující chyba: CHYBA 1045 (28000): Přístup odepřen uživateli „ODBC“@’localhost“ (s použitím hesla: NE). Takto vypadá chybová zpráva na mém Windows. Pokud používáte Linux, pak místo ODBC bude jméno vašeho systémového uživatele, pod kterým provádíte akce v systému.

To vše proto, že ve výchozím nastavení při připojení k serveru MySQL používá konzole uživatele ODBC ve Windows bez hesla a systémového uživatele v Linuxu se stejným heslem. Výchozí hostitel je localhost, tj. Tento uživatel se může připojit pouze z místního počítače.

Máte tedy dvě možnosti: buď použít jiného uživatele pro přihlášení do příkazového řádku MySQL, nebo vytvořit uživatele MySQL s požadovaným účtem. Ale u druhého způsobu se stále neobejdeme bez prvního :) Proto se nejprve připojíme k MySQL serveru pod standardním uživatelem vykořenit, který se vytvoří při instalaci MySQL na počítač a ke kterému je standardně povolen přístup z localhost:

Mysql -u root -p

Po výzvě k zadání hesla jednoduše stiskněte Enter (pokud jste jej samozřejmě nezadali při instalaci MySQL). Poté budete připojeni k serveru MySQL, bude vám přiděleno ID připojení a bude vám udělen přístup k příkazovému řádku MySQL.

Pokud se chcete připojit k serveru MySQL, který má konkrétní název hostitele nebo IP nebo se chcete přihlásit jako jiný uživatel, použijte následující formát příkazu:

Mysql -u uživatelské_jméno -p uživatelské_heslo -h MySQL_server_host_or_IP

Namísto znaků azbuky s podtržítkem je samozřejmě potřeba zadávat údaje v latince. Mimochodem, pokud si přejete, můžete tento příkaz napsat v trochu jiném formátu:

Mysql --user=user_name --password=user_password --host=host_or_IP_of_MySQL_server

Pokud z nějakého důvodu nechcete, aby se vaše heslo pro připojení k MySQL zobrazovalo v konzole (což je ve skutečnosti správně), můžete použít následující příkaz:

Mysql -u uživatelské_jméno -h MySQL_server_host_or_IP -p

Vzhledem k tomu, že heslo není výslovně uvedeno, budete vyzváni k jeho zadání v dalším kroku. Navíc Vámi zadané znaky se nebudou zobrazovat ani ve formě hvězdiček (zástupných znaků), místo toho bude jen prázdný řádek.

Kromě zadaného nastavení připojení je možné použít následující parametry, jejichž hodnoty budou zadány podobným způsobem jako výše:

  1. --port nebo -P - k určení portu pro připojení k serveru MySQL;
  2. —protocol — protokol, přes který bude spojení navázáno (možné možnosti: TCP pro Windows a Linux, SOCKET pro Linux, PIPE a MEMORY pro Windows);
  3. --socket nebo -S - tento parametr je užitečný, pokud se chcete připojit přes zásuvky, proto bude hodnota parametru socket;
  4. --pipe nebo -W - parametr je nutný, pokud chcete pro připojení používat pojmenované „potrubí“ nebo „potrubí“;
  5. --shared-memory-base-name - tento parametr bude užitečný pro připojení MEMORY přes sdílenou paměť ve Windows;

Je zřejmé, že výčet všech parametrů pro připojení k MySQL serveru se neomezuje pouze na toto. Ve skutečnosti je jich mnohem více.

Pokud vám z nějakého důvodu nevyhovuje standardní možnost označující hostitele, uživatele a heslo, budou pro vás užitečné následující informace, abyste zjistili úplný seznam parametrů připojení - https://dev.mysql.com/doc/ refman/5.7/en/connecting.html

Jak vytvořit databázi v konzoli MySQL

Poté, co jsme se připojili k serveru MySQL a spustili příkazový řádek MySQL, je čas zahájit životní cyklus naší databáze stránek, který začíná jejím vytvořením. Chcete-li vytvořit databázi MySQL pomocí příkazového řádku, musíte zadat následující příkaz:

CREATE DATABASE název_databáze;

Stejnou akci lze provést pomocí speciálního nástroje MySQL mysqladmin. Běží izolovaně od příkazového řádku MySQL, tzn. Chcete-li ji použít, budete ji muset ukončit nebo otevřít novou konzolu serveru.

A pak zavolejte následující příkaz:

Mysqladmin create database_name;

Mimochodem, pomocí utility mysqladmin můžete nejen vytvářet a mazat databáze bez přihlášení do MySQL konzole, ale také obsluhovat konfiguraci serveru, procesy MySQL, spravovat replikace, ping servery a dělat mnoho dalších zajímavých věcí.

Jak vytvořit uživatele MySQL na příkazovém řádku

Ne často, ale někdy je potřeba vytvořit nového uživatele MySQL. Navíc v režimu konzole.

Na příkazovém řádku MySQL se to dělá následovně:

CREATE USER "user_name"@"host_or_machine_IP" IDENTIFIKOVANÉ BY "user_password";

Uživatel byl vytvořen. Parametr hostitel_nebo_IP_stroj znamená, že při vytváření uživatele musíte zadat IP, ze které se může připojit k serveru, nebo název hostitele (vhodné je doménové jméno pracovního stroje v síti).

Mimochodem, při zadávání hostitele, který se má připojit k serveru MySQL, můžete použít symbol procent - % , což znamená, že vytvořený uživatel se může připojit k serveru MySQL z libovolné IP adresy nebo hostitele.

Je třeba vzít v úvahu, že v tomto případě localhost není zahrnut v seznamu adres zadaných pomocí %, protože localhost označuje připojení přes soket UNIX namísto standardního TCP/IP. Tito. Pokud se vytvořený uživatel MySQL připojí k serveru pomocí soketů, ale pomocí jiného protokolu zadaného při připojování k serveru MySQL v konzole, bude muset vytvořit dva uživatelské účty:

VYTVOŘIT UŽIVATELE "username"@"%" IDENTIFIKOVANÉ "heslem"; VYTVOŘIT UŽIVATELE "username"@"localhost" IDENTIFIKOVANÉHO PODLE "hesla";

Přišli jsme na to, jak vytvořit uživatele MySQL v konzoli. Nyní nastavíme uživatelská práva k provádění jakýchkoli akcí s naší nově vytvořenou databází pomocí následujícího příkazu:

UDĚLEJTE VŠECHNA PRIVILEGIA Jménu_databáze.* TOMU "uživatelské_jméno"@"IP_hostitele nebo_počítače";

Volba VŠE, jak jste pochopili, pouze označuje, že uživateli jsou povoleny jakékoli akce s konkrétní databází. Kompletní seznam práv, která mohou být uživatelům udělena pomocí příkazu GRANT, naleznete zde (ačkoli popis parametrů je v angličtině) - https://dev.mysql.com/doc/refman/5.7/en/grant.html#grant-privileges

Mimochodem, můžete použít několik parametrů oprávnění a zadat je při volání příkazu, oddělené čárkami.

Pokud chcete vytvořit superuživatele, tzn. má globální oprávnění k provádění různých akcí se všemi databázemi na serveru, pak použijte následující volání příkazu:

GRANT ALL ON *.* TO "user_name"@"host_or_machine_IP";

Mimochodem, po nastavení oprávnění by bylo dobré vymazat mezipaměť serveru MySQL. Pokud je změníte, nezapomeňte to udělat také voláním následujícího příkazu:

FLUSH PRIVILEGES;

A pokud chcete změnit uživatelská práva, nejprve použijte následující příkaz k resetování všech práv:

ODVOLEJTE VŠECHNA PRIVILEGIA NA *.* OD "user_name"@"host_or_machine_IP";

A pak nainstalovat ty, které potřebuje používat GRANT, jak bylo popsáno dříve.

Pokud v budoucnu budete potřebovat změnit uživatelské heslo MySQL, pak k tomu stačí spustit následující příkazy v prostředí MySQL:

SET PASSWORD FOR "user_name"@"host_or_machine_IP" = PASSWORD("new_password"); FLUSH PRIVILEGES;

Resetování mezipaměti oprávnění serveru MySQL je potřeba ke stejnému účelu jako při změně práv – bez této akce se změna hesla uživatele MySQL nemusí počítat, takže nebuďte líní ji použít :)

Mimochodem, internet je plný příkladů použití následujícího příkazu k resetování hesla uživatele MySQL:

UPDATE mysql.user SET Password=PASSWORD("heslo") WHERE User="username";

Tato možnost mi však na MySQL 5.7 nefungovala, což způsobovalo chybu ERROR 1054 (42S22): Neznámý sloupec „Heslo“ v „seznamu polí“. Důvodem se ukázala být absence pole Heslo v tabulce mysql.user.

Z čehož můžeme usuzovat, že tato možnost funguje pouze pro starší verze MySQL, kde toto pole v uživatelské tabulce existovalo. Proto pro jistotu použijte moji první možnost, pokud ovšem nebudete nuceni pracovat s předpotopním softwarem bez možnosti aktualizace verzí :)

Tím je vytvoření nového uživatele MySQL a kontrola akcí s jeho právy a hesly dokončena. Jdeme dál.

Výběr databáze při práci s MySQL přes příkazový řádek

Nyní, po vytvoření uživatele v MySQL Shell a přidělení práv pro práci s databází, musíme vybrat právě tuto databázi, abychom mohli pracovat se samotnou databází a daty v ní uloženými.

Chcete-li to provést, použijte následující příkaz v konzole MySQL:

USE název_databáze;

Pokud vše proběhlo v pořádku, zobrazí se v konzole zpráva Databáze změněna, což bude signalizovat, že jsme se přes konzoli přihlásili do databáze MySQL. Mimochodem, při připojování k serveru MySQL můžete zpočátku zadat databázi, se kterou budete muset pracovat. Chcete-li to provést, musíte v konzole serveru zadat následující příkaz:

Mysql --user=user_name --password=user_password --host=MySQL_server_host_or_IP --database=database_name

Nebo totéž, pouze požádání o uživatelské heslo MySQL:

Mysql -u user_name -h host_or_IP_MySQL_server_database_name -p

To je vše. Myslím, že nyní nebudete mít žádné potíže s připojením k databázi MySQL přes konzoli :)

Práce s tabulkami MySQL prostřednictvím konzole MySQL

Vytvořili jsme tedy databázi MySQL prostřednictvím konzole. Nyní by bylo fajn se s tím naučit pracovat pro případ, kdy příkazový řádek MySQL bude jediným prostředkem pro přístup k datům uloženým na serveru (jako tomu bylo v mém případě, o kterém jsem mluvil na začátku článek).

Jak víte, skládá se z tabulek, uvnitř kterých jsou již informace uloženy ve formě záznamů s několika poli. Proto se nejprve podle hierarchie umístění informací naučíme, jak provádět typické operace CRUD s tabulkami.

Operace CRUD, pokud někdo neví, jsou operace pro vytváření, čtení, aktualizaci a mazání dat z angličtiny. „Vytvořit, přečíst, aktualizovat, smazat“ (můžete to potřebovat při pohovorech).

Dovolte mi připomenout, že pro provádění akcí s tabulkami se musíte nejprve připojit k databázi MySQL pomocí příkazu POUŽITÍ.

Takže první věcí na naší agendě je příkaz k vytvoření tabulky MySQL v databázi pomocí příkazového řádku, který vypadá takto:

CREATE TABLE název_tabulky (název_pole_1 typ_pole_1, název_pole_2 typ_pole_2(velikost_pole_2), INDEX(název_pole_1), ...);

Jak jste pochopili, polí může být tolik, kolik chcete, jejich typy mohou být různé, stejně jako přítomnost indexů a klíčů je volitelná.

Mimochodem, pokud chcete zkopírovat tabulku do jiné databáze nebo jednoduše vytvořit kopii v aktuální databázi, pomohou vám následující příkazy:

CREATE TABLE nový_název_tabulky LIKE starý_název_tabulky; INSERT nový_název_tabulky SELECT * FROM starý_název_tabulky;

Tyto příkazy umožňují kopírovat strukturu tabulky a její data spolu s indexy tabulek a spouštěči. Pokud potřebujete pouze data a strukturu (názvy polí a jejich datové typy), vystačíte si s voláním jednoho příkazu:

CREATE TABLE nový_název_tabulky AS SELECT * FROM starý_název_tabulky;

Další operací z bloku CRUD je čtení. V případě tabulek se při čtení zobrazí jejich struktura. K tomu slouží následující čtyři příkazy:

ZOBRAZIT CELÉ SLOUPCE Z název_tabulky; DESCRIBE název_tabulky; EXPLAIN název_tabulky; SHOW CREATE TABLE název_tabulky;

První zobrazuje informace o polích databázové tabulky v tabulkové formě do konzole MySQL s uvedením názvu pole, datového typu, přítomnosti klíčů, výchozí hodnoty atd. Při použití klíčového slova PLNÝ můžete získat rozšířené informace, včetně oprávnění pro každé pole pro aktuálního uživatele, komentáře pro každé z nich a hodnotu kódování.

Druhý a třetí příkaz jsou jednoduše zkrácené formy prvního příkazu bez rozšířených informací. Proč je bylo potřeba vyrábět - ani si to neumím představit... Je to proto, aby se bylo na co ptát při pohovorech? 🙂

Čtvrtý příkaz vám kromě názvu, typů polí a jejich výchozích hodnot umožňuje získat hodnoty klíčů tabulek, tabulkových enginů (InnoDB, MyISAM), kódování atd.

Operace aktualizace v případě tabulek představuje změnu jejich struktury, tzn. různé akce s poli tabulky MySQL:

ALTER TABLE název_tabulky DROP COLUMN název_pole; ALTER TABLE název_tabulky ADD COLUMN název_pole VARCHAR(20); ALTER TABLE název_tabulky CHANGE staré_název_pole nové_název_pole VARCHAR(50); ALTER TABLE název_tabulky MODIFY název_pole VARCHAR(3);

První příkaz umožňuje smazat konkrétní pole tabulky, druhý umožňuje jeho přidání, třetí umožňuje přejmenovat pole a současně změnit typ dat v něm uložených a čtvrtý umožňuje změnit pouze typ dat. .

Totéž lze provést s indexy tabulek pomocí do značné míry podobných příkazů:

ALTER TABLE název_tabulky ADD UNIQUE INDEX název_indexu (název_pole_1, ...); ALTER TABLE název_tabulky přejmenovat INDEX starý název_indexu TO nový název_indexu; ALTER TABLE název_tabulky DROP INDEX název_indexu;

Následující příkazy vám umožňují přidávat, přejmenovávat a odstraňovat indexy z tabulek MySQL pomocí příkazového řádku. Mimochodem, chcete-li přidat a odebrat indexy, existuje další alternativní možnost pro použití nezávislých příkazů, spíše než jejich provádění ALTER TABULKA. Proto, pokud chcete, můžete je použít:

CREATE UNIQUE INDEX název_indexu (název_pole_1, ...) ON název_tabulky; DROP INDEX název_indexu ON název_tabulky;

Uvedené příkazy jsou ekvivalentní prvnímu a poslednímu z předchozího bloku. Bohužel neexistuje žádný samostatný příkaz pro přejmenování indexu. A změnit typ indexu, bohužel, v MySQL není vůbec žádný způsob. Jediným řešením je smazat index a vytvořit jej znovu s požadovaným typem.

No a konečně jsme se dostali k poslední operaci z bloku CRUD - mazání. Odebrání MySQL tabulek z databáze je velmi jednoduché. Stačí spustit následující příkaz v konzole MySQL:

DROP TABLE název_tabulky;

Někdy v praxi nastávají situace, které znemožňují smazání tabulky nebo změnu její struktury. Zpravidla je to způsobeno používáním cizích klíčů v databázi k propojení tabulek mezi sebou. Osobně jsem se s touto situací setkal více než jednou, jak jsem o tom mluvil na začátku článku.

Pokud vám tedy MySQL při mazání nebo aktualizaci struktury tabulky nebo jejích dat vrátilo chybu s textem Nelze odstranit nebo aktualizovat nadřazený řádek: selhalo omezení cizího klíče, pak se vám budou hodit následující informace.

Abychom mohli realizovat náš plán, musíme dočasně zakázat kontrolu existence cizích klíčů, provést potřebnou operaci a poté kontrolu znovu povolit, protože je to skutečně nezbytné a ve většině případů vám umožňuje chránit se před porušením integrity dat.

Ve skutečnosti jsou pro tento účel potřeba cizí klíče MySQL.

Chcete-li tedy odstranit data, která jsou narušena cizími klíči, musíte v konzole MySQL provést následující kroky:

SET FOREIGN_KEY_CHECKS=0; #required_mysql_command SET FOREIGN_KEY_CHECKS=1;

Mimochodem, pokud chcete smazat cizí klíč, postup bude stejný jako při smazání indexu:

ALTER TABLE název_tabulky DROP FOREIGN KEY název_cizího_klíče;

Chcete-li zjistit název cizího klíče MySQL tabulky, použijte již známý příkaz konzoly MySQL ZOBRAZIT VYTVOŘIT TABULKU.

Práce s daty tabulky MySQL přes příkazový řádek

U tabulek CRUD jsme se podívali na operace v konzoli MySQL. Pro úplný obrázek v tomto cheat sheetu chybí pouze příkazy pro práci se samotnými daty uloženými v databázových tabulkách. Myslím, že mnoho lidí tyto příkazy zná a používá je v praxi, ale přesto vám je znovu připomenu.

Operace CRUD pro práci s daty tabulky MySQL budou vypadat takto:

INSERT INTO název_tabulky (pole1, pole2, ...) VALUES (hodnota pole_1, hodnota pole_2, ...); SELECT pole1, pole2, ... FROM název_tabulky; UPDATE název_tabulky SET pole1 = hodnota pole 1, pole2 = hodnota pole 2; DELETE FROM název_tabulky WHERE pole1 = hodnota pole 1;

Výše uvedené příkazy odpovídají operacím vytváření, čtení, aktualizace a mazání dat z databázových tabulek MySQL. Při použití SELECT a UPDATE je také možné použít kvalifikační klauzuli WHERE, kterou lze určit výběr dat stejným způsobem, jak je popsáno při použití DELETE.

Také při načítání dat z databáze pomocí SELECT můžete použít následující možnost k získání hodnot všech polí tabulky:

SELECT * FROM název_tabulky;

V těchto operacích lze samozřejmě použít i jiné operátory kromě WHERE. Při získávání dat pomocí SELECT je jich zvláště mnoho: zde je UNION pro kombinování výsledků několika dotazů a různé typy JOIN. Výpis všeho je velmi dlouhý a pro mě i pro vás bude zdlouhavé to číst.

Proto se shodneme: pokud se chcete o něčem dozvědět více, napište o tom do komentářů a já se vám pokusím odpovědět. Nebo to udělají jiní znalí členové naší komunity. OK? 😉

Tímto blokem se tedy prozatím zabývat nebudeme.

Pokud potřebujete odstranit všechna data z tabulky, můžete použít následující příkaz MySQL:

TRUNCATE název_tabulky;

Než jej zavoláte, jak bylo zmíněno dříve, možná budete muset zakázat kontrolu cizího klíče v případě, že existují související tabulky MySQL, které mohou bránit provedení požadované akce.

Dalším zajímavým bodem, který je zde třeba poznamenat, je, že tento příkaz neresetuje čítač AUTO_INCREMENT, o kterém je známo, že se používá k automatickému generování hodnoty pole, aniž by bylo nutné ji ručně nastavovat.

Pole tohoto typu se nejčastěji používají ke generování hodnot pro hlavní klíčové pole id, které se používá k navázání vztahů mezi daty z různých tabulek.

To znamená, že pokud před smazáním dat tabulky pomocí ZKRÁTIT maximální hodnota čítače byla 1200, pak první záznam po tomto postupu bude mít hodnotu identifikátoru 1201. V zásadě je to v pořádku. Pokud máte pro toto pole nastavenou dostatečnou velikost, nebude vám hrozit brzké přetečení hodnot.

V některých případech, kdy má kód aplikace nějaký druh vazby na hodnotu pole, však toto chování může způsobit nepříjemnosti.

Chcete-li se tomu vyhnout, použijte tuto možnost namísto výše uvedeného příkazu:

TRUNCATE TABLE someTable RESTART IDENTITY;

Volba tohoto příkazu ZKRÁTIT vám umožní vynulovat hodnotu počítadla pole AUTO_INCREMENT. Proto hodnota pole prvního přidaného záznamu po tomto odstranění bude 1 namísto 1201, jako ve výše uvedeném příkladu.

Jak odstranit databázi MySQL pomocí příkazového řádku

Životní cyklus práce s databází se chýlí ke konci a končí zcela logicky – jejím smazáním. Chcete-li provést tuto operaci v konzole MySQL, musíte spustit následující příkaz (v tomto případě nemusí být databáze, která má být odstraněna, vybrána příkazem POUŽITÍ):

DELETE DATABASE název_databáze;

Stejnou akci lze provést pomocí utility MySQL mysqladmin, kterou jsem již zmínil na začátku článku při vytváření databáze:

Mysqladmin drop název_databáze;

Když zavoláte příkaz, v konzole serveru se zobrazí následující zpráva:

Zrušení databáze je potenciálně velmi špatná věc.
Veškerá data uložená v databázi budou zničena.

Opravdu chcete zrušit databázi ‚database_name‘

Stručně řečeno, toto je varování, že smazání databáze MySQL je velmi špatný nápad. Rovněž je požadováno potvrzení akce. Pokud souhlasíte, napište y a stiskněte Vstupte na klávesnici, načež se na obrazovce zobrazí následující zpráva (pokud vše proběhlo v pořádku, samozřejmě):

Databáze "název_databáze" zrušena

to je ono :)

Jak odstranit uživatele MySQL v konzole

Nyní stejný osud potká uživatele MySQL, kterého jsme vytvořili, abychom vám ukázali, jak se to dělá. Nejprve by ale bylo dobré před smazáním zkontrolovat, zda požadovaný uživatel skutečně existuje.

Od MySQL 5.7 existuje jeden příkaz pro obě tyto akce:

DROP USER IF EXISTS uživatelské jméno;

Dřívější verze MySQL vyžadovaly dva samostatné příkazy:

GRANT POUŽITÍ NA *.* TO "uživatelské_jméno"@"hostitel_nebo_IP_adresa"; DROP USER "user_name"@"host_or_IP_address";

Bohužel v tomto případě je hláška o provedení operace v MySQL konzoli tradičně neinformativní 🙁 Abyste tedy zjistili, že uživatel MySQL byl přeci jen smazán, můžete použít následující příkaz, který zobrazí seznam všech uživatelé existující na aktuálním serveru MySQL:

SELECT User FROM mysql.user;

Tato možnost příkazu zobrazí pouze uživatelská jména. Pokud potřebujete vidět hostitele, ze kterých se mohou uživatelé připojit k serveru, a seznam oprávnění, můžete příkaz zavolat v následujícím tvaru:

SELECT User, Host, Grant_priv FROM mysql.user;

V tabulce mysql.user je také spousta dalších polí, která ukládají další typy oprávnění a další informace, jejichž úplný seznam najdete zde - https://mariadb.com/kb/en/library/mysqluser- tabulka/

Nenechte se zmást, že se jedná o dokumentaci pro MariaDB DBMS. Technicky je to stejné jako MySQL, protože... MariaDB je jen její větev nebo vidlice z anglického „fork“ - větev, vidlice.

Proč se to udělalo - opět netuším 🙂 Snad každému hrdě prohlásit, že „mám vlastní DBMS“?... Ale abych byl upřímný, nejsem si příliš vědom přesných motivů a rozdílů mezi MySQL a MariaDB. Proto, pokud o tom něco víte, bylo by zajímavé si o tom přečíst v komentářích.

Ukončení konzoly MySQL

To je vše, životní cyklus databáze a uživatele, který začal jejich vytvořením a skončil jejich smazáním, skončil. Proto příkazový řádek MySQL, se kterým jsme pracovali v konzoli serveru pomocí utility mysql, už to nepotřebujeme.

Nezbývá než se z toho dostat...

Zdálo by se, že akce je triviální, ale mnoho lidí v situaci, kdy potřebuje ukončit příkazový řádek MySQL, jednoduše zavře konzolu serveru a znovu ji otevřete. Můžete se samozřejmě chovat takto, ale zabere to další sekundy pracovní doby a pokaždé, když to potřebujete udělat, budete podráždění.

Správným chováním v této situaci je pouze zavolat příkaz výstup v příkazovém řádku MySQL, načež se s námi služba zdvořile rozloučí :)

A to je vše 🙂 Takže příště nebudete muset vytvářet více konzolí a znovu je otevírat pokaždé, když potřebujete ukončit MySQL v konzole a znovu k ní přistupovat, abyste mohli spravovat server.

To je vše, co jsem vám dnes chtěl říct. Doufám, že můj cheat sheet pro práci s příkazovým řádkem MySQL přes konzoli bude užitečný nejen mně, ale i vám.

Když už mluvíme o praktické aplikaci informací uvedených v článku, rád bych vám připomněl, že výše uvedené konstrukce lze použít nejen v příkazovém řádku MySQL a konzole serveru, ale také v konzoli phpMyAdmin a dalším softwaru, který poskytuje takovou příležitost.

Ať už to používáte nebo ne, je vaše věc. Jak jsem ale řekl hned na začátku článku, jsou situace, kdy vám používání MySQL konzole může ušetřit čas a stres. Zda používat příkazový řádek každý den nebo ne, je čistě věcí vkusu a individuálních preferencí.

Napište do komentářů, jaké příkazy používáte nejčastěji. Nebo možná znáte nějaké jiné triky. V každém případě se o svůj názor podělte s ostatními a pokračujte v konverzaci v komentářích ostatních uživatelů.

Slibuji, že se během toho naučíte spoustu nových věcí, stejně jako já při psaní každého svého článku :)

To je vše! Hodně štěstí a zase na viděnou :)

P.S.: pokud potřebujete webové stránky nebo potřebujete provést změny na stávajících, ale není na to čas ani chuť, mohu nabídnout své služby. Více než 5 let zkušeností profesionální vývoj webových stránek. Práce s PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, Reagovat, Hranatý a další technologie pro vývoj webových aplikací. Zkušenosti s vývojem projektů na různých úrovních: vstupní stránky

Rozvoj informačních technologií je jednou z nejpokročilejších oblastí lidské činnosti. Proto se do této oblasti investuje obrovské množství peněz. Od okamžiku, kdy to začalo až do dnešních dnů, bylo vyřešeno mnoho různých problémů, které značně zjednodušily každodenní život mnoha lidí. S rozvojem technologií se však objevila řada problémů, jedním z nich je nadměrné množství informací, které je třeba ukládat. K vyřešení situace byly navrženy databáze.

Stručný přehled systémů pro správu databází

Vzhledem k tomu, že problém ukládání velkého množství informací je dnes aktuální, existuje několik řešení. Každý z nich je zaměřen na úkoly určitého směru. Dohromady však tvoří ucelený komplex, který zjednodušuje problém ukládání dat.

Existuje určitá klasifikace, která určuje potřebu použití konkrétní databáze a DBMS (systém správy databáze). V současnosti uvažované nejběžnější klient-server technologie ukládání dat. Patří sem následující typy: Firebird, Interbase, IBM DB2, Sybase, Oracle, PostgreSQL, Linter, MySQL. Nás bude zajímat poslední možnost – MySQL, jejíž příkazy plně vyhovují standardům SQL. Tato technologie je jednou z populárních a často využívaných k řešení jak lokálních aplikovaných problémů, tak problémů malosériové výroby.

Předchůdci technologie klient-server jsou souborový server DBMS, které ztratily své pozice kvůli řadě existujících nedostatků, mezi které patří nutnost distribuce jádra DBMS na každý počítač a značné zatížení lokální sítě, vedoucí ke zvýšení časových nákladů. Do této skupiny patří Borland Paradox.

Nové technologie získávají na popularitě

Před několika lety se však objevila pokročilá technologie, která získává na popularitě a je žádaná pro řešení malých místních problémů. Jde o to vestavěný systémy pro správu databází. Hlavním rysem uvažovaného DBMS je absence serverové části. Samotný systém je knihovna, která umožňuje pracovat jednotným způsobem s velkým množstvím informací umístěných na lokálním počítači. Tato metoda odstraňuje nevýhody souborový server znamená, a také výrazně převyšuje rychlost klient-server technologií.

Mezi příklady patří OpenEdge, SQLite, BerkeleyDB, jedna z variant Firebird, Sav Zigzag, Compact, LINTER a také jedna z variant MySQL, jejíž příkazy se neliší od příkazů používaných v DBMS klient-server. Však vestavěný systémy mohou snadno ztratit svou relevanci, pokud úkol přestane být místní povahy.

Hlavní výhody MySQL DBMS

Systém pro správu databází MySQL je jednou z nejoblíbenějších technologií, protože s jeho pomocí lze vyřešit obrovské množství problémů. Pokud to porovnáme s moderními analogy, můžeme zdůraznit řadu hlavních výhod.

Hlavní výhodou na ruském trhu je jeho dostupnost, protože je ve většině případů zdarma. Druhou vlastností je rychlost. Jedním z nejpopulárnějších systémů je MySQL. Příkazy v něm jsou prováděny rychle, s minimální dobou odezvy. Připojení několika klientů k serveru ve vícevláknovém režimu neovlivňuje rychlost zpracování příkazů kvůli použití enginu InnoDB pro podporu rychlých transakcí.

Přítomnost ovladače ODBC usnadňuje vývojářům řešení mnoha problémů. Mezi výhody patří také možnost pořizovat záznamy pevné i variabilní délky. Ale hlavní funkcí, která je mezi programátory velmi ceněná, je rozhraní s jazyky C a PHP. Schopnosti poskytované MySQL umožnily použít tento DBMS pro velké množství poskytovatelů internetových hostingových služeb.

A pro běžného člověka, který se zajímá o moderní technologie pro ukládání informací, je nutné studovat MySQL a jejich syntaxi, protože specialisté v této oblasti jsou všude na světě velmi žádaní a vysoce placení. Proto pokud někoho tento směr zajímá, neváhejte. Musíte začít studovat hned.

Co potřebujete nastudovat

Na první pohled se může zdát, že tuto oblast je obtížné samostatně studovat a vyžaduje neustálou komunikaci s odborníkem. To však zdaleka neplatí. Architekturu a funkce MySQL, základní příkazy dotazovacího jazyka a vše s tím spojené můžete studovat sami, bez pomoci konzultanta. K tomu stačí mít chuť a vynaložit úsilí posunout se dál. Pouze seberozvoj a studium této oblasti vám umožní získat nové znalosti, upevnit nabyté dovednosti a případně začít budovat kariéru a postupovat tímto směrem.

Abyste se naučili základní povely, musíte je mít po ruce uvolnit verzi konzolového nástroje MySQL. Zde začíná proces učení. Můžete si jej stáhnout z oficiálních stránek MySQL. Lze jej snadno nainstalovat na jakýkoli operační systém a vytvořit server a klienta na jednom počítači, což je velmi pohodlné.

Poté je třeba vyhledat výukový program obsahující základní informace o prostředí MySQL. pro základní studium zpravidla obsahují i. O této záležitosti je mnoho informací. Výběr je však třeba brát vážně. Informace musí být prezentovány konzistentně a jasně strukturované.

Pokud máte základní znalost angličtiny, můžete využít podporu zabudovanou v konzoli. K tomu existuje speciální příkaz pomoc, který vám pomůže pochopit, jak používat nástroj MySQL.

Základní konzolové příkazy

Plynulým přechodem od hlavních funkcí, schopností a výhod se dostáváme k seznamu hlavních příkazů. Utilita MySQL obsahuje zpočátku pouze jednoho uživatele, který slouží ke studiu. Toto je uživatel se jménem vykořenit, jehož heslo je zcela shodné s názvem.

První a další spuštění konzoly MySQL bude vyžadovat zadání hesla. vykořenit pro další práci s MySQL DBMS. Příkazy konzoly budou dostupné pouze po ověření.

Po úspěšném ověření můžete pro pohodlí zobrazit existující příkazy pomocí příkazu pomoc. Poté se na konzoli zobrazí všechny existující příkazy a jejich stručný popis.

a zobrazit

Nyní musíte přejít k dalšímu kroku. Chcete-li to provést, musíte vybrat existující databázi nebo vytvořit novou databázi. Chcete-li vybrat existující databázi, musíte použít příkaz use. A zadejte název databáze oddělený mezerou. Zpočátku je v nástroji pouze jeden - s názvem test. Žádost tedy bude vypadat takto: použití test.

Chcete-li vytvořit databázi, musíte použít příkaz vytvořit zadáním klíčového slova databáze a uvedením příslušného názvu. Struktura bude mít následující podobu: vytvořit databázi Název_databáze. Chcete-li pracovat s vytvořenou databází, musíte do ní přistupovat pomocí příkazu použití.

Prostředí poskytuje funkci navrženou pro zobrazení existujících databází, tabulek, primárních klíčů nebo externích vztahů a výstup dostupných informací o nich do konzole MySQL. Příkazy v tomto případě musí vždy začínat větou show. Chcete-li například zobrazit seznam dostupných databází pro aktuálního uživatele, stačí zadat následující dotaz: show databází. Pro zobrazení tabulky stačí změnit objekt zobrazení za klíčovým slovem zadáním tabulky.

Příkazy ovládání tabulky

Než se přesuneme dále, je nutné ještě jednou připomenout, že soulad s jazykovými standardy SQL poskytuje vývojářům dostatek příležitostí bez ohledu na použité DBMS a operační systémy. Dotazy vyvinuté v jakémkoli prostředí, které podporuje standard SQL, poběží úspěšně (pokud existuje databáze a tabulky) v prostředí MySQL. Příkazy konzoly Windows se neliší od příkazů používaných v jiných operačních systémech.

Pro práci s tabulkami existuje řada specifických příkazů, které v případě překladu z angličtiny mluví samy za sebe. O týmu vytvořit bylo zmíněno výše. Lze jej také použít k přidání tabulek do dříve vytvořené databáze. Chcete-li odstranit databázové objekty, zejména tabulky, použijte příkaz pokles, ke kterému se přidá název ničeného objektu. Příklad: pokles jméno_ z_ vaše_ tabulka.

Syntaxe volání databázového serveru má vždy společnou strukturu. Dotaz vyvinutý ve Windows bude tedy úspěšně fungovat i v konzoli MySQL Linux. Příkazy zpracované serverem bez chyb v jednom operačním systému nemohou způsobit chyby v jiných.

Vyberte příkaz

Nejdůležitější příkaz pro práci s tabulkami, jehož syntaxe je vcelku jednoduchá, je ale příkaz vybrat. Slouží k výběru dat z databáze. Počáteční syntaxe má následující strukturu: vybrat * z tabulka_ jméno. Odesláním takového požadavku na databázový server musí klient získat všechny záznamy uložené v tabulce.

Mnoho lidí o tom nikdy nepřemýšlí, ale při procházení internetových zdrojů se neustále používají příkazy MySQL pomocí syntaxe SQL pro zobrazení obsahu katalogů internetových obchodů nebo novinek na sociálních sítích. Místo znaku „*“ za větou vybrat zpravidla je uveden seznam hlavních polí tabulky nebo několika tabulek, z nichž je třeba zpracovat údaje. V případě vzorkování z více tabulek se používá speciální odkaz připojit se, která slouží k jejich propojení pomocí stávajících externích přípojek. Tuto podmínku však lze změnit nezávislým zadáním polí, která mají být pro připojení použita.

Nastavení limitů vzorkování

Někdy nastane situace, kdy odpověď přijatá z databázového serveru obsahuje duplicitní data. Aby bylo zajištěno, že uživatel uvidí pouze jedinečné záznamy, používá se klauzule odlišná. Je umístěn před seznamem požadovaných polí a slouží jako pomocný nástroj pro skrytí duplikátů.

Dobrý den, milí čtenáři blogu, je čas změnit obvyklý phpMyAdmin za brutálnější nástroj pro správu databází. Dnes si osaháme konzoli MySQL a naučíme se spouštět standardní příkazy a také příkazy pro obnovu databáze. MySQL konzole- toto je standardní DBMS (Systém správy databáze) pro MySQL, dodávaný s produktem.

Kdy se může konzole MySQL hodit?

Z pohledu začínajícího webového programátora phpMyAdmin plní všechny funkce nezbytné pro normální provoz. Představte si, že jste nejen webový programátor, ale částečně i systémový administrátor, který má povinnost po výpadku databázi obnovit.

V tomto případě se neobejdete bez dovedností v práci s MySQL konzolí. O něco později se podíváme na příkazy pro obnovu databáze pomocí konzole, ale zatím začněme se základy.

Jak spustit konzoli MySQL

Konzolu můžete spustit pomocí Průzkumníka Windows vyhledáním nástroje mysql.exe ve složce MySQL. Obvykle se nachází na adrese: [cesta ke složce]\mysql\bin\mysql.exe. Pokud používáte Denver, MySQL konzole, měli byste se podívat tímto směrem:
C:\WebServer\usr\local\mysql\bin\mysql.exe

Kromě Průzkumníka Windows můžete použít příkazový řádek:

  • Spusťte cmd.exe
  • Napište úplnou cestu k souboru mysql.exe
  • Stiskněte enter

Měli byste vidět něco takového:

Chyba znamená, že ke spuštění konzoly mysql musíte zadat přihlašovací jméno a heslo uživatele. Při práci s Denverem je standardní uživatel databáze root s prázdným heslem.
Proveďte stejný příkaz s dalšími parametry označujícími autorizační data.

C:\WebServer\usr\local\mysql-5.1\bin\mysql.exe –u root –p

Pokud je vše provedeno správně, obdržíte zprávu " Vítejte v konzoli MySQL..."

Úspěšné připojení k databázovému serveru můžete ověřit zadáním příkazu show databases; . V důsledku jeho spuštění se zobrazí seznam databází přítomných na serveru.

Zkusme vybrat jednu z databází a podívat se na seznam tabulek v ní:

použít test; ukázat tabulky;

V mém příkladu odkazuji na testovací databázi, pokud ji nemáte, odkazujte na jakoukoli jinou dostupnou.

Jako experiment můžete zkusit vytvořit testovací databázi pomocí příkazu:

vytvořit test databáze;

Na kterou obdržíte zprávu: " QUERY OK, ovlivněn 1 řádek", což znamená, že databáze s názvem test byla úspěšně vytvořena.

Nyní vytvoříme tabulku objednávek v testovací databázi.

vytvořit test tabulky (`id` int(11),`obsah` varchar(255));

Spusťte znovu příkaz show tables; , který ukáže, že tabulka byla skutečně vytvořena a je k dispozici pro práci s ní.

Můžete také zkusit zobrazit seznam sloupců v tabulce:

zobrazit sloupce z test.objednávky;

Abychom uzavřeli naše seznámení MySQL konzole, provedeme nějaký dotaz:

SELECT * FROM test.objednávka;

Takže, milí čtenáři, gratuluji vám, nyní můžete pracovat s MySQL ve spartánských podmínkách bez phpMyAdmin. Zde je seznam každodenních příkazů:

  • CREATE DATABASE DB_NAME;
  • ZOBRAZIT DATABÁZE;
  • — prohlížení dostupných databází;
  • USE DB_NAME; — vybrat databázi;
  • UKAŽTE TABULKY;
  • — zobrazit všechny tabulky; ZOBRAZIT SLOUPCE Z TABLE_NAME;
  • — zobrazení sloupců a jejich vlastností; CREATE TABLE TABLE_NAME (`ID` INT(11),`NAME` VARCHAR(255));
  • — vytvoření tabulky; ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT(11);
  • — přidat sloupec do tabulky;
  • ALTER TABLE TABLE_NAME DROP COLUMN_NAME;— odstranit sloupec z tabulky;
  • MYSQL -UUSERNAME -PPASSWORD -HHOST DB_NAME — naplňte databázi;

MYSQLDUMP -UUSERNAME -PPASSWORD -HHOST DB_NAME > FILE_NAME.SQL

— vytvořit výpis z databáze;




Mapa stránek