Práca s MySQL z príkazového riadku. Automatická inštalácia MySQL na Windows Spustite mysql z príkazového riadku linuxu

Spustenie a zastavenie servera MySQL z príkazového riadku

Server MySQL môžete manuálne spustiť jedným z dvoch spôsobov:

Dvakrát kliknite na súbor mysqld-nt.exe, ktorý sa nachádza v podadresári bin adresára, kde je nainštalovaný MySQL.

Otvorte okno príkazového riadka systému Windows. Ak to chcete urobiť, kliknite na tlačidlo Štart, z ponuky vyberte položku Spustiť, v zobrazenom okne Spustite program do poľa Otvoriť zadajte príkaz cmd a kliknite na tlačidlo OK. Na obrazovke sa objaví okno príkazového riadka (obr. 1.25).

Ryža. 1.25. Okno príkazového riadka


V príkazovom riadku zadajte príkaz

mysqld-nt

a stlačte Enter. Spustí sa server MySQL.

Ak pri nastavovaní servera nebola k hodnote systémovej premennej Path pridaná cesta k podadresáru bin, potom na spustenie servera musíte zadať nielen názov súboru, ale aj úplnú cestu k nemu, napr. :

C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt

Ak chcete zobraziť diagnostické správy o serveri v okne príkazového riadka, namiesto mysqld-nt zadajte

mysqld-nt – konzola

Pozor!

Ak ste pri nastavovaní servera MySQL nezadali heslo používateľa root, musíte ho nastaviť pri prvom spustení servera (inak môže server ako root spravovať ktokoľvek bez hesla).

Ak chcete nastaviť heslo root, otvorte nové okno príkazového riadka a zadajte nasledujúci príkaz:

mysqladmin -u root heslo<пароль>

(alebo C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root heslo<пароль>, ak cesta k podadresáru bin nebola pridaná do systémovej premennej Path pri nastavovaní servera) a stlačte Enter.

Ak v budúcnosti budete potrebovať zmeniť heslo používateľa root, spustite rovnaký príkaz iba pomocou voľby -p:

mysqladmin -u root -p heslo<новый пароль>

Keď sa zobrazí výzva Zadajte heslo, zadajte staré heslo a stlačte kláves Enter.

Nakoniec, ak potrebujete zastaviť server MySQL, spustite príkaz

mysqladmin -u root -p vypnutie

a pri výzve Zadajte heslo zadajte heslo používateľa root. Stlačte Enter. Server MySQL bude zastavený.

Na spustenie a zastavenie servera MySQL môžete použiť aj grafický nástroj MySQL Administrator.

Spustenie a zastavenie servera MySQL pomocou správcu MySQL

Ak chcete spustiť server MySQL pomocou grafického nástroja MySQL Administrator, postupujte podľa týchto krokov.

1. Spustite program MySQL Administrator (Štart → Všetky programy → MySQL → MySQL Administrator). Na obrazovke sa zobrazí okno pripojenia k serveru (obr. 1.26).

Ryža. 1.26.


2. Stlačte a podržte kláves Ctrl a kliknite na tlačidlo Preskočiť, ktoré sa zobrazí v pravom dolnom rohu okna namiesto tlačidla Zrušiť. Na obrazovke sa objaví hlavné okno MySQL Administrator (obr. 1.27).

Ryža. 1.27. Hlavné okno MySQL Administrator


4. Ak server MySQL nebol nakonfigurovaný ako služba Windows, tlačidlo Spustiť službu umiestnené v pravej časti okna je sivé. Musia sa vykonať tieto predbežné kroky:

1) Prejdite na kartu Konfigurovať službu. Nájdite tlačidlo Inštalovať novú službu v spodnej časti karty a kliknite naň;

2) v zobrazenom dialógovom okne zadajte názov služby a kliknite na tlačidlo OK;

3) do poľa Config Filename zadajte cestu ku konfiguračnému súboru my.ini (obr. 1.28), napríklad C:\Program Files\MySQL\MySQL Server 5.0\my.ini. Červená farba písma znamená, že súbor nebol nájdený; ak sa farba zmení na normálnu, potom je cesta správna;

4) do poľa Cesta k binárnemu súboru zadajte cestu k súboru mysqld-nt.exe, napríklad C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt;

6) vráťte sa na kartu Spustiť/Zastaviť službu.

Ryža. 1.28. Karta Konfigurovať službu 5. Kliknite na tlačidlo Spustiť službu. Spustí sa server MySQL.


Pozor!

Ak ste pri nastavovaní MySQL servera nezadali heslo užívateľa root, musíte ho nastaviť pri prvom spustení servera (inak môže server spravovať ako root bez hesla ktokoľvek). V aktuálnej verzii MySQL Administrator nie je nastavenie hesla root k dispozícii a na vykonanie tejto operácie musíte použiť nástroj príkazového riadka mysqladmin (pozrite si podkapitolu „Spustenie a zastavenie servera MySQL z príkazového riadka“).

Ak chcete zastaviť server MySQL pomocou správcu MySQL, postupujte podľa týchto krokov.

1. Spustite program MySQL Administrator (Štart → Všetky programy → MySQL → MySQL Administrator). Na obrazovke sa zobrazí okno pripojenia k serveru (pozri obrázok 1.26).

Server Host – hodnota localhost (lokálny počítač);

Port – číslo portu zvolené pri nastavovaní servera (predvolené – 3306);

Usename – koreňová hodnota;

Heslo – heslo používateľa root. Kliknite na tlačidlo OK.

3. V hlavnom okne MySQL Administrator kliknite na ľavej table na Service Control.

4. V pravej časti okna kliknite na tlačidlo Zastaviť službu. Server MySQL bude zastavený.

V ďalšej podsekcii sa dozviete, ako spustiť server MySQL pomocou nástrojov na správu systému Windows.

Spustenie a zastavenie servera MySQL z ovládacieho panela

Ak bol server MySQL nakonfigurovaný ako služba Windows pomocou sprievodcu nastavením (pozrite si podkapitolu „Konfigurácia servera MySQL“) alebo pomocou pomôcky MySQL Administrator (pozrite časť „Spustenie a zastavenie servera MySQL pomocou správcu MySQL“), potom spustite a zastavte it Môžete použiť komponent Služby ovládacieho panela.

Ak chcete získať prístup ku komponentu Služby, kliknite na tlačidlo Štart, z ponuky vyberte položku Ovládací panel, potom dvakrát kliknite na položku Nástroje na správu v ovládacom paneli a nakoniec dvakrát kliknite na položku Služby v okne Nástroje na správu. Na obrazovke sa objaví okno Služby (obr. 1.29) so zoznamom všetkých lokálnych služieb.

Ryža. 1.29. Služba MySQL v ovládacom paneli


V okne Služby kliknite na názov služby MySQL (názov sa určí pri vytváraní služby v sprievodcovi konfiguráciou alebo v správcovi MySQL). Potom kliknite na požadovaný odkaz pod názvom služby: Spustiť službu, Zastaviť službu alebo Reštartovať službu.

Keď je server MySQL spustený, môžete sa k nemu pripojiť. V nasledujúcich podkapitolách sa dozviete, ako na to.

Pripojenie k serveru z príkazového riadku

Ak sa chcete pripojiť k serveru MySQL z príkazového riadka, postupujte podľa týchto krokov.

1. Otvorte okno príkazového riadka systému Windows. Ak to chcete urobiť, kliknite na tlačidlo Štart, z ponuky vyberte položku Spustiť, v zobrazenom okne Spustite program zadajte do poľa Otvoriť príkaz cmd a kliknite na tlačidlo OK.

2. V príkazovom riadku (pozri obrázok 1.25) zadajte príkaz

mysql -h<Имя компьютера>-u<Имя пользователя>-p

(Kde<Имя компьютера>je názov počítača, na ktorom beží server) a stlačte kláves Enter. Keď sa zobrazí výzva na zadanie hesla, zadajte heslo používateľa.

Ak sa potrebujete pripojiť k serveru MySQL spustenému na rovnakom počítači, názov počítača (localhost) možno vynechať, napr.

mysql -u root -p

Po pripojení k serveru sa príkazový riadok zmení na mysql> (obrázok 1.30). Teraz môžete začať pracovať s databázou: pridávať tabuľky, zadávať a vyhľadávať údaje, registrovať nových používateľov atď.

Ryža. 1.30. Pripojenie k serveru MySQL z príkazového riadku


Ak sa chcete odpojiť od servera, jednoducho zadajte príkaz do príkazového riadku

a stlačte Enter.

Alternatívny spôsob pripojenia k serveru MySQL poskytuje grafický nástroj MySQL Query Browser.

Pripojenie k serveru pomocou prehliadača dotazov MySQL

Nástroj MySQL Query Browser je rozhranie na vytváranie, úpravu a vykonávanie príkazov SQL. Je to pohodlnejšie ako príkazový riadok. Ak sa na prácu s databázou rozhodnete použiť prehliadač dotazov MySQL, pripojte sa k serveru podľa týchto krokov.

1. Spustite program MySQL Query Browser (Štart → Všetky programy → MySQL → Prehliadač dopytov MySQL). Na obrazovke sa zobrazí okno pripojenia k serveru (obr. 1.31).

Ryža. 1.31. Okno pripojenia k serveru MySQL


2. Do polí v okne pripojenia k serveru zadajte parametre pripojenia:

Server Host – názov počítača, na ktorom beží MySQL server;

Port – číslo portu zvolené pri nastavovaní servera (predvolené – 330 6);

Používateľské meno – používateľské meno;

Heslo – heslo používateľa;

Predvolená schéma – názov databázy, s ktorou budete pracovať (môže to byť existujúca alebo nová databáza).

3. Kliknite na tlačidlo OK. Ak ste zadali názov pre novú databázu, potom v zobrazenom dialógovom okne kliknite na Áno, aby ste vytvorili túto databázu.

Po pripojení k serveru sa na obrazovke objaví hlavné okno MySQL Query Browser (obr. 1.32). V ňom môžete vykonávať ľubovoľné operácie s databázou: pridávať tabuľky, zadávať a vyhľadávať údaje, registrovať nových používateľov atď.

Ryža. 1.32. Hlavné okno prehliadača dotazov MySQL


Pozor!

Predvolené písmo používané v prehliadači dotazov MySQL na zobrazenie dotazov SQL nepodporuje ruské písmená. Ak chcete zadať ruské písmená do textov dopytov, musíte vybrať iné písmo (napríklad Arial alebo Book Antiqua). Ak to chcete urobiť, v hlavnom okne prehliadača dotazov MySQL otvorte ponuku Nástroje a vyberte položku Možnosti. V okne Možnosti, ktoré sa zobrazí, v ľavej oblasti kliknite na položku Všeobecné možnosti a v pravej časti v poli Písmo kódu vyberte požadované písmo zo zoznamu. Kliknite na tlačidlo Použiť.

Ak sa chcete odpojiť od servera, jednoducho zatvorte okno prehliadača dotazov MySQL.

Týmto končíme náš úvod do MySQL a prejdeme k zhrnutiu výsledkov.

1.6. Zhrnutie

Táto kapitola skúmala MySQL DBMS a grafické nástroje MySQL Administrator a MySQL Query Browser. Zvládli ste pomerne zložitý postup inštalácie a konfigurácie servera MySQL, naučili ste sa spravovať server a pripojiť sa k nemu. Naučili ste sa tiež, ako funguje relačná databáza a ako si navrhnúť vlastnú databázu.

Ďalším krokom je teda vybudovanie databázy v MySQL. Tomu je venovaná druhá kapitola. Ukáže vám, ako vytvárať tabuľky, zadávať do nich informácie a nájsť potrebné informácie v databáze.

Kapitola 2
Správa databázy pomocou SQL

V tejto kapitole sa dozviete, ako pracovať s údajmi v MySQL DBMS, ako určiť jeho štruktúru a ako pridávať, meniť a odstraňovať údaje. Tieto operácie vykonáva SQL, univerzálny štruktúrovaný dopytovací jazyk, ktorý je štandardným prostriedkom na prístup k relačným databázam.

Na vykonávanie príkazov SQL môžete použiť ktorúkoľvek z mnohých klientskych aplikácií servera MySQL. Táto kapitola sa nebude týkať aplikácií tretích strán. Predstavíme vám iba aplikácie vytvorené pomocou MySQL AB: nástroj príkazového riadka mysql a grafický nástroj MySQL Query Browser.

Všetky dátové operácie sú dostupné v oboch nástrojoch. Prehliadač MySQL Query Browser je pohodlný na prácu s databázou: jej komponenty sú prehľadne prezentované, môžete priamo upravovať údaje (bez použitia operátora SQL UPDATE), pracovať s dotazmi, napríklad ich zostavovať pomocou špeciálneho nástroja (a nepotrebujete na manuálne zadávanie názvov tabuliek a stĺpcov), ukladanie dotazov do súboru, exportovanie výsledkov dotazov a mnoho ďalšieho. O všetkých možnostiach prehliadača dotazov MySQL sa môžete dozvedieť v dokumentácii v ruštine, ktorú nájdete na adrese http://dev.mysql.com/doc/query-browser/ru/index.html.

Najprv sa naučíte spúšťať príkazy SQL v prehliadači MySQL Query Browser a príkazovom riadku a potom sa budeme venovať iba syntaxi príkazov SQL.

2.1. Vykonávanie príkazov SQL

Pred vykonaním príkazov SQL sa musíte pripojiť k spustenému serveru MySQL (ako to urobiť bolo popísané v kapitole 1). V tejto časti sa dozviete, ako vytvoriť príkazy SQL a odoslať ich na server na vykonanie.

Ak používate príkazový riadok, na vykonanie príkazu SQL zadajte jeho text do okna príkazového riadka a stlačením klávesu Enter odošlite príkaz na server. Aby ste sa vyhli problémom s kódovaním údajov v ruskom jazyku, pred začatím práce s údajmi spustite príkaz

NÁZVY SETOV cp866;

Výsledok vykonania tohto príkazu môžete vidieť na obr. 2.1.

Ryža. 2.1. Nastavenie kódovania na príkazovom riadku


Príkaz SET NAMES sa musí zopakovať, keď každý pripojenie k serveru pomocou príkazového riadku. Tento príkaz informuje server, že táto klientska aplikácia (utilita mysql) používa kódovanie CP-866 (toto je kódovanie príkazového riadka systému Windows) a server automaticky vykoná konverziu kódovania pri komunikácii s klientskou aplikáciou.

Po zmene kódovania môžete do príkazového riadku zadať ľubovoľné príkazy SQL. Priamo v okne príkazového riadku sa zobrazí správa o výsledku príkazu, ako aj požadované údaje (obr. 2.2).

Ryža. 2.2. Vykonanie SQL dotazu na príkazovom riadku


Utilita mysql umožňuje zadávať viacriadkové príkazy (na obr. 2.3 bol takto zadaný príkaz SHOW DATABASES). Ak nie je zadaná bodkočiarka ako znak konca príkazu, potom keď stlačíte kláves Enter, pomocný program nepošle príkaz na server, ale vyzve vás, aby ste pokračovali v zadávaní príkazu. Ak chcete zrušiť viacriadkový príkaz, napíšte \c (obrázok 2.3).

Ryža. 2.3. Viacriadkový príkaz


Ak používate MySQL Query Browser, potom nemusíte nastavovať kódovanie - tento program pracuje v kódovaní UTF-8 a sám to hlási serveru. V MySQL Query Browser je však problém so zobrazovaním ruských písmen v oblasti dotazu (oblasť, kde sa zadáva text SQL príkazov, obr. 2.4). Aby ste tento problém vyriešili, musíte zmeniť písmo použité v oblasti dotazu (ako to urobiť bolo popísané na konci predchádzajúcej kapitoly). Písmo stačí zmeniť len raz.

Ryža. 2.4. Vykonanie dotazu SQL v prehliadači dotazov MySQL


V oblasti dotazu môžete zadať niekoľko príkazov SQL naraz, ako je znázornené na obrázku. 2.4. Aktuálny príkaz (kurzor je na jednom z jeho riadkov) je zvýraznený bielym pozadím, zvyšné príkazy sú zobrazené na svetlosivom pozadí. Ak chcete vykonať aktuálny príkaz, môžete kliknúť buď na tlačidlo Vykonať umiestnené napravo od oblasti výzvy, alebo na kombináciu klávesov Ctrl+Enter. Po vykonaní príkazu sa v oblasti výsledkov zobrazia požadované údaje a v spodnej časti tejto oblasti sa zobrazí správa o výsledku príkazu.

Teraz, keď ste sa naučili zadávať príkazy SQL, začnime spravovať údaje pomocou týchto príkazov. V prvom rade sa pozrieme na príkazy určené na prácu s databázou ako celkom.

2.2. Vytvorenie databázy

V tejto časti sa dozviete, ako vytvoriť a odstrániť databázu, zmeniť jej predvolené kódovanie, vybrať aktuálnu databázu a tiež zobraziť zoznam všetkých databáz na danom serveri MySQL.

Ak chcete vytvoriť databázu, spustite príkaz

VYTVORIŤ DATABÁZU<Имя базы данных>;

Napríklad príkaz

VYTVORIŤ DATABÁZU SalesDept;

vytvorí databázu s názvom SalesDept.

Ak z nejakého dôvodu potrebujete nastaviť predvolené kódovanie pre novú databázu, ktoré sa líši od kódovania zadaného pri nastavovaní MySQL, potom pri vytváraní databázy môžete zadať požadované kódovanie (sadu znakov) a/alebo porovnávacie (triediace) pravidlo pre hodnoty znakov:

VYTVORIŤ DATABÁZU<Имя базы данных>

SÚBOR ZNAKOV<Имя кодировки>

COLLATE<Имя правила сравнения>;

Napríklad, ak importujete údaje do novej databázy, ktorá je v kódovaní CP-1251, potom toto kódovanie označíme pri vytváraní databázy týmto spôsobom:

VYTVORIŤ DATABÁZU SalesDept

SADA ZNAKOV cp1251 COLLATE cp1251_general_ci;

Poradenstvo

Ak chcete zobraziť zoznam kódovaní používaných v MySQL, spustite príkaz SHOW CHARACTER SET; a ak chcete zobraziť zoznam pravidiel na porovnávanie symbolických hodnôt, použite príkaz SHOW COLLATION;. V tomto prípade môžete použiť operátor LIKE: napríklad ak chcete zobraziť všetky porovnávacie pravidlá pre kódovanie CP-1251, spustite príkaz SHOW COLLATION LIKE %1251%;. Koncovka „_ci“ (rozlišujú sa malé a veľké písmená) v názve porovnávacích pravidiel znamená, že pri porovnávaní a triedení sa neberie do úvahy veľkosť písmen, berie sa do úvahy koncovka „_cs“ (rozlišujú sa malé a veľké písmená), berie sa do úvahy koncovka „_bin“ (binárne) – porovnávanie a triedenie sa vykonáva pomocou číselných kódov znakov. Pre väčšinu pravidiel porovnávania nájdete popis (teda poradie znakov, podľa ktorých budú zoradené textové hodnoty) na webovej stránke http://www.collation-charts.org/mysql60/.

Pre tabuľky v tejto databáze sa štandardne použije kódovanie zadané pri vytváraní databázy, môžete však zadať iné kódovanie.

Pomocou príkazu môžete zmeniť kódovacie a/alebo porovnávacie pravidlo pre hodnoty znakov pre databázu

ZMENIŤ DATABÁZU<Имя базы данных>

SÚBOR ZNAKOV<Имя кодировки>

COLLATE<Имя правила сравнения>;

V tomto prípade zostáva kódovanie použité v existujúcich databázových tabuľkách rovnaké; Zmení sa iba predvolené kódovanie pre novovytvorené tabuľky.

Ak chcete odstrániť nepotrebnú alebo chybne vytvorenú databázu, spustite príkaz

DROP DATABASE<Имя базы данных>;

Pozor!

Vymazanie databázy je veľmi dôležitá operácia, pretože vymaže všetky tabuľky v databáze a údaje uložené v tabuľkách. Pred odstránením sa odporúča vytvoriť záložnú kópiu databázy.

Pomocou príkazu môžete vybrať jednu z databáz vytvorených na tomto serveri MySQL ako aktuálnu databázu

POUŽÍVAŤ<Имя базы данных>;

Napríklad,:

USE SalesDept;

Potom môžete vykonávať operácie s tabuľkami v tejto databáze bez toho, aby ste pred názvom tabuľky pridali názov databázy. Napríklad na prístup k tabuľke Zákazníci v databáze SalesDept môžete jednoducho napísať Customers namiesto SalesDept.Customers. Zadaním aktuálnej databázy môžete pristupovať k tabuľkám v iných databázach, ale ako predponu musíte použiť názov databázy. Výber aktuálnej databázy sa uloží, kým sa neodpojíte od servera alebo kým nevyberiete inú aktuálnu databázu.

Ak chcete zobraziť zoznam všetkých databáz existujúcich na danom serveri MySQL, spustite príkaz

ZOBRAZIŤ DATABÁZY;

Aj keď ešte nemáte vytvorené žiadne databázy, vo výslednom zozname uvidíte tri systémové databázy.

INFORMATION_SCHEMA je informačná databáza, z ktorej môžete získať informácie o všetkých ostatných databázach, štruktúre údajov v nich a všetkých druhoch objektov: tabuľky, stĺpce, primárne a cudzie kľúče, prístupové práva, uložené procedúry, kódovania atď. Táto databáza je dostupná Je iba na čítanie a je virtuálna, čo znamená, že nie je uložená ako adresár na disku: všetky informácie požadované z tejto databázy poskytuje dynamicky server MySQL.

Mysql je utilitná databáza používaná serverom MySQL. Uchováva informácie o registrovaných užívateľoch a ich prístupových právach, referenčné informácie atď.

Test je prázdna databáza, ktorú možno použiť na vyskúšanie alebo jednoducho odstrániť.

Osvojili ste si teda základné operácie vykonávané s databázou ako celkom: príkazy CREATE DATABASE (vytvorenie), ALTER DATABASE (zmena), DROP DATABASE (vymazanie), USE (výber aktuálnej databázy) a SHOW DATABASES (zobrazenie zoznamu). databáz). Ďalej sa pozrieme na operácie s tabuľkami. V tomto prípade budeme predpokladať, že ste si vybrali databázu ako aktuálnu a pracujete s jej tabuľkami.

2.3. Práca s tabuľkami

V tejto časti sa dozviete, ako vytvoriť, upraviť a odstrániť tabuľku, ako zobraziť informácie o tabuľke a zoznam všetkých tabuliek v aktuálnej databáze. Začnime s najťažším príkazom - vytvorením tabuľky.

Vytvorenie tabuľky

Ak chcete vytvoriť tabuľku, spustite príkaz uvedený vo výpise 2.1.

Výpis 2.1. Príkaz na vytvorenie tabuľky

VYTVORIŤ TABUĽKU<Имя таблицы>

(<Имя столбца 1> <Тип столбца 1> [<Свойства столбца 1>],

<Имя столбца 2> <Тип столбца 2> [<Свойства столбца 2>],

[<Информация о ключевых столбцах и индексах>])

[<Опциональные свойства таблицы>];


Ako vidíte, príkaz create table môže obsahovať veľa parametrov, ale mnohé z nich sú voliteľné (vo výpise 2.1 sú tieto parametre uzavreté v hranatých zátvorkách). V skutočnosti na vytvorenie tabuľky stačí zadať jej názov a názvy a typy všetkých stĺpcov; v prípade potreby sa použijú ďalšie parametre.

Pozrime sa najskôr na niekoľko príkladov, ktoré vám pomôžu zvládnuť príkaz CREATE TABLE a okamžite bez študovania jeho mnohých parametrov začať vytvárať vlastné (štruktúrne jednoduché) tabuľky.

Predpokladajme, že budujeme databázu, ktorú sme navrhli v kapitole 1. Pomocou príkazov z predchádzajúcej časti sme vytvorili prázdnu databázu SalesDept a vybrali ju ako aktuálnu. Teraz vytvoríme tri tabuľky: Zákazníci, Produkty a Objednávky. Výpis 2.2 zobrazuje príkaz na vytvorenie tabuľky Zákazníci.

Výpis 2.2. Príkaz na vytvorenie tabuľky Zákazníci

VYTVORIŤ TABUĽKU Zákazníci

(id SERIAL,

názov VARCHAR(100),

telefón VARCHAR(20),

adresa VARCHAR(150),

hodnotenie INT,

PRIMÁRNY KĽÚČ (id))


Tento príkaz používal parametre: po prvé názov tabuľky a po druhé názvy a typy stĺpcov, z ktorých bude tabuľka pozostávať (pozri tiež tabuľku 1.1 v kapitole 1).

Id – identifikátor záznamu. Tomuto stĺpcu ste priradili typ SERIAL, ktorý vám umožňuje automaticky číslovať riadky tabuľky. Kľúčové slovo SERIAL znamená BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE. To znamená, že do stĺpca možno zadať veľké celé číslo (BIGINT) kladné (UNSIGNED) čísla, pričom sa automaticky kontroluje absencia nedefinovaných a duplicitných hodnôt (NOT NULL UNIQUE). Ak pri pridávaní riadku do tabuľky nešpecifikujete hodnotu pre tento stĺpec, potom program MySQL zadá do tohto stĺpca ďalšie poradové číslo (AUTO_INCREMENT).

Poznámka

NULL je konštanta označujúca neprítomnosť hodnoty. Ak stĺpec obsahuje hodnotu NULL, predpokladá sa, že pre tento stĺpec neexistuje žiadna definovaná hodnota (preto tiež nazývame NULL hodnotou null). Hodnota NULL by sa nemala zamieňať s prázdnym reťazcom ("") alebo číslom 0. S hodnotami NULL sa zaobchádza inak: väčšina funkcií a operátorov vracia hodnotu NULL, ak je jeden z argumentov NULL. Napríklad výsledok porovnania 1 = 1 je skutočná hodnota (TRUE) a výsledok porovnania NULL = NULL je nedefinovaná hodnota (NULL), to znamená, že dve nedefinované hodnoty sa nepovažujú za rovnaké.

Meno je meno klienta, telefón je telefónne číslo a adresa je adresa. K týmto stĺpcom ste priradili typ VARCHAR, pretože budú obsahovať znakové hodnoty. Maximálny povolený počet znakov v hodnote stĺpca je uvedený v zátvorkách.

Po tretie, zadali ste, že stĺpec id bude primárnym kľúčom tabuľky zahrnutím klauzuly PRIMARY KEY (id) do príkazu na vytvorenie tabuľky.

Po štvrté, pre túto tabuľku ste zadali dva voliteľné parametre. Parameter ENGINE určuje typ tabuľky. Tabuľke Customers ste priradili typ InnoDB, pretože iba tento typ zabezpečuje zachovanie integrity vzťahov medzi tabuľkami (viac podrobností o typoch tabuliek nájdete v časti „Voliteľné vlastnosti tabuliek“). Parameter CHARACTER SET určuje predvolené kódovanie pre údaje v tabuľke. Pretože ste nenastavili kódovanie samostatne pre stĺpce meno, telefón a adresa, údaje v týchto stĺpcoch budú uložené v UTF-8, čo je predvolené kódovanie pre tabuľku Zákazníci.

Ďalším príkladom, na ktorý sa pozrieme, je príkaz na vytvorenie tabuľky produktov zobrazený vo výpise 2.3.

Výpis 2.3. Príkaz na vytvorenie tabuľky produktov

VYTVORIŤ TABUĽKU Produkty

(id SERIAL,

popis VARCHAR(100),

podrobnosti TEXT,

cena DECIMAL(8,2),

PRIMÁRNY KĽÚČ (id))

MOTOR InnoDB CHARAKTER SET utf8;


Tento príkaz je veľmi podobný príkazu na vytvorenie tabuľky Zákazníci a líši sa iba názvom tabuľky a množinou stĺpcov. Stĺpce id (číslo produktu) a popis (názov produktu) tabuľky Produkty majú typy, ktoré sú nám už známe. Stĺpec podrobností je typu TEXT. Tento typ je vhodné použiť namiesto typu VARCHAR, ak stĺpec bude obsahovať dlhé hodnoty: celková dĺžka hodnôt všetkých stĺpcov VARCHAR je obmedzená na 65 535 bajtov pre každú tabuľku a neexistuje žiadne obmedzenie na celkovú dĺžku stĺpce TEXT. Nevýhodou typu TEXT je nemožnosť zahrnúť takéto stĺpce do cudzieho kľúča tabuľky, teda vytvoriť vzťah medzi tabuľkami na základe týchto stĺpcov.

Stĺpec ceny je typu DECIMAL, určený na ukladanie peňažných súm a iných hodnôt, pri ktorých je dôležité vyhnúť sa chybám pri zaokrúhľovaní. Uviedli sme dve čísla v zátvorkách: prvé z nich určuje maximálny počet číslic v hodnote stĺpca, druhé - maximálny počet číslic za oddeľovačom desatinných miest. Inými slovami, cena produktu môže obsahovať až šesť číslic v celočíselnej časti (6 = 8–2) a až dve číslice v zlomkovej časti.

A nakoniec posledným príkladom je príkaz na vytvorenie tabuľky Objednávky, zobrazený vo Výpise 2.4.

Výpis 2.4. Príkaz na vytvorenie tabuľky objednávok

VYTVORTE OBJEDNÁVKY TABUĽOV

(id SERIAL,

dátum DATE,

product_id BIGINT UNSIGNED NOT NULL,

množ. INT UNSIGNED,

množstvo DECIMAL(10,2),

customer_id BIGINT UNSIGNED,

PRIMÁRNY KĽÚČ (id),

CUDZÍ KĽÚČ (identifikátor_produktu) REFERENCIE Produkty (id)

PRI OBMEDZENÍ VYMAZANIE PRI AKTUALIZÁCII CASCADE,

CUDZÍ KĽÚČ (customer_id) REFERENCIE Zákazníci (id)

PRI OBMEDZENÍ VYMAZANIA PRI KASKÁDE AKTUALIZÁCIÍ)

MOTOR InnoDB CHARAKTER SET utf8;


Zvláštnosťou tabuľky Objednávky je prítomnosť cudzích kľúčov: stĺpec product_id obsahuje čísla produktov z tabuľky Products a stĺpec customer_id obsahuje čísla zákazníkov z tabuľky Customers (pozri tiež tabuľku 1.2 v kapitole 1). Pretože čísla produktov a zákazníkov sú veľké kladné celé čísla, priradili sme stĺpcom product_id a customer_id typ BIGINT UNSIGNED.

Ďalej, aby sme sa uistili, že integrita vzťahov je automaticky udržiavaná (o integrite sme hovorili v kapitole 1), povedali sme MySQL, ktorému primárnemu kľúču zodpovedá každý cudzí kľúč. Konštrukt FOREIGN KEY (customer_id) REFERENCES Customers (id) teda znamená, že stĺpec customer_id môže obsahovať iba hodnoty zo stĺpca id tabuľky Customers a hodnoty null a iné hodnoty sú zakázané. Pre stĺpec product_id sme nastavili podobné obmedzenie a tomuto stĺpcu sme priradili vlastnosť NOT NULL, aby sme zabránili registrácii objednávok s nedefinovaným produktom. Okrem toho sme uviedli pravidlá udržiavania integrity pre každé z pripojení (tiež sme o nich hovorili v kapitole 1). Pravidlo ON DELETE RESTRICT znamená, že nemôžete vymazať záznam zákazníka, ak má tento zákazník zaregistrovanú objednávku, a nemôžete vymazať záznam produktu, ak si tento produkt niekto objednal. Pravidlo ON UPDATE CASCADE znamená, že keď sa zmení číslo zákazníka v tabuľke Zákazníci alebo číslo položky v tabuľke Produkty, vykonajú sa zodpovedajúce zmeny v tabuľke Objednávky.

Poznámka

Všimnite si, že tabuľku Objednávky sme vytvorili ako poslednú, pretože primárne kľúče v tabuľkách Zákazníci a Produkty musia byť vytvorené pred cudzími kľúčmi v tabuľke Objednávky, ktoré na ne odkazujú. Bolo by však možné vytvoriť tabuľky bez cudzích kľúčov v akomkoľvek poradí a potom pridať cudzie kľúče pomocou príkazu ALTER TABLE, na ktorý sa pozrieme v podkapitole „Zmena štruktúry tabuľky“.

V našich príkladoch sme sa pozreli len na niektoré parametre príkazu na vytvorenie tabuľky. Teraz si uvedieme všetky hlavné parametre, ktoré sa vám môžu hodiť pri vytváraní tabuliek. V časti „Typy údajov v MySQL“ budeme hovoriť o typoch stĺpcov, v časti „Vlastnosti stĺpcov“ o nastavení kľúčových stĺpcov a nakoniec v časti „Kľúčové stĺpce a indexy“ budeme hovoriť o voliteľných vlastnostiach tabuľky. .

Dátové typy v MySQL

Ako už viete, pri vytváraní tabuľky musíte zadať typ údajov pre každý stĺpec. MySQL poskytuje mnoho dátových typov na ukladanie čísel, dátumov/časov a znakových reťazcov (textov). Okrem toho existujú dátové typy na ukladanie priestorových objektov, o ktorých sa v tejto knihe nebudeme baviť.

Pozrime sa na číselné dátové typy.

TROCHA[(<Количествобитов>)].

Číslo bitu obsahujúce určený počet bitov. Ak počet bitov nie je špecifikovaný, počet pozostáva z jedného bitu.

Celé číslo v rozsahu buď -128 až 127, alebo (ak je špecifikovaná vlastnosť UNSIGNED) 0 až 255.

BOOL alebo BOOLEAN.

Sú to synonymá pre dátový typ TINYINT(1) (číslo v zátvorkách je počet číslic, ktoré sa majú zobraziť, pozri poznámku nižšie). V tomto prípade sa nenulová hodnota považuje za pravdivú (TRUE), nulová hodnota sa považuje za nepravdivú (FALSE).

Celé číslo v rozsahu od -32 768 do 32 767 alebo (ak je špecifikovaná vlastnosť UNSIGNED) od 0 do 65 535.

Celé číslo v rozsahu buď -8,388,608 až 8,388,607, alebo (ak je špecifikovaná vlastnosť UNSIGNED) 0 až 16,777,215.

INT alebo INTEGER.

Celé číslo v rozsahu buď -2,147,483,648 až 2,147,483,647, alebo (ak je špecifikovaná vlastnosť UNSIGNED) 0 až 4,294,967,295.

Celé číslo v rozsahu buď -9,223,372,036,854,775,808 až 9,223,372,036,854,775,807, alebo (ak je špecifikovaná vlastnosť NESIGNED) od 0 do 18,446,744,075 515,51

Synonymum s BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE (veľké celé číslo bez znamienka, ktoré akceptuje automaticky zvýšené jedinečné hodnoty; hodnoty NULL nie sú povolené). Používa sa na automatické generovanie jedinečných hodnôt v stĺpci primárneho kľúča. Popis vlastností UNSIGNED a AUTO_INCREMENT nájdete v tejto podsekcii a vlastností NOT NULL a UNIQUE v časti „Vlastnosti stĺpca“.

Poznámka

Pre všetky typy celočíselných údajov, okrem BOOL (BOOLEAN) a SERIAL, môžete v zátvorkách zadať počet zobrazených číslic, ktorý sa používa v spojení s parametrom ZEROFILL: ak číslo obsahuje menej číslic, potom sa pri výstupe doplní na vľavo s nulami. Napríklad, ak je stĺpec tabuľky definovaný ako INT(5) ZEROFILL, hodnoty „1234567“ a „12345“ sa zobrazia tak, ako sú, a hodnota „123“ sa zobrazí ako „00123“. Pre dátový typ BIT je v zátvorkách uvedená veľkosť čísla, teda maximálny počet uložených bitov.

Nižšie je uvedený zoznam najužitočnejších a často používaných príkazov MySQL s príkladmi.

mysql na začiatku riadku znamená, že príkaz sa vykoná po prihlásení MySQL.

Symbol # alebo $ na začiatku riadku znamená, že príkaz sa vykoná z príkazového riadku.

Ak chcete skontrolovať stav servera MYSQL urobiť:

Pre FreeBSD:

# stav služby mysql-server

V CentOS/RHEL:

# stav mysqld služby

MySQL z konzoly, ak je server MySQL je na tom istom hostiteľovi:

Na pripojenie k serveru MySQL z konzoly, ak je server MySQL sa nachádza na vzdialenom hostiteľovi db1.example.com:

$ mysql -u používateľské meno -p -h db1.example.com

Práca s databázami a tabuľkami - prezeranie, mazanie, úprava záznamov. Konzola

Vytvorte databázu na MySQL server:

Mysql vytvoriť databázu

Zobraziť zoznam všetkých databáz na serveri MySQL:

použitie mysql;

Zobraziť všetky tabuľky v databáze:

Mysql zobraziť tabuľky;

Pozrite si formát tabuľky v databáze:

mysql popísať;

Vymazať databázu:

Databáza kvapiek Mysql;

Odstráňte tabuľku z databázy:

Mysql drop tabuľka;

Zobraziť celý obsah tabuľky:

Mysql SELECT * FROM;

Zobraziť stĺpce a obsah stĺpcov vo vybratej tabuľke:

Mysql zobrazuje stĺpce od ;

Zobraziť riadky v konkrétnej tabuľke obsahujúcej „čokoľvek“:

Mysql SELECT * FROM WHERE = "čokoľvek";

Zobraziť všetky záznamy v konkrétnej tabuľke obsahujúcej „Bob“ a telefónne číslo „3444444:

Mysql SELECT * FROM WHERE meno = "Bob" AND phone_number = "3444444";

Zobraziť všetky záznamy, NIE obsahujúce meno „Bob“ a telefónne číslo „3444444“, zoradené podľa poľa telefónne číslo:

Mysql SELECT * FROM WHERE meno != " Bob " AND phone_number = " 3444444 " objednávka podľa telefónneho_čísla;

Zobraziť všetky záznamy začínajúce písmenami „bob“ a telefónnym číslom „3444444“ v konkrétnej tabuľke:

Mysql SELECT * FROM WHERE meno ako "Bob %" AND phone_number = "3444444";

Zobraziť všetky položky začínajúce písmenami „bob“ a telefónnym číslom „3444444“, pričom počet položiek je obmedzený na 1 až 5:

Mysql SELECT * FROM WHERE meno ako "Bob %" AND phone_number = "3444444" limit 1,5;

Používanie regulárnych výrazov ("REGEXP BINARY") na vyhľadávanie záznamov. Napríklad pri vyhľadávaní bez rozlišovania malých a veľkých písmen nájdite všetky záznamy začínajúce písmenom A:

Mysql SELECT * FROM WHERE rec RLIKE "^a";

Zobraziť všetky jedinečné položky:

Mysql SELECT DISTINCT FROM ; mysql SELECT , FROM ORDER BY DESC;

Zobrazte počet riadkov v tabuľke:

Mysql SELECT COUNT(*) FROM ;

Mysql SELECT SUM(*) FROM ;

Odstránenie stĺpca:

Mysql alter table drop column;

Pridanie stĺpca do databázy:

Mysql alter table pridať stĺpec varchar(20);

Zmena názvu stĺpca:

Mysql zmena tabuľky varchar(50);

Vytvorte stĺpec s jedinečným názvom, aby ste sa vyhli duplicitným názvom:

Mysql alter table add unique();

Zmena veľkosti stĺpca:

Mysql zmeniť tabuľku upraviť VARCHAR(3);

Odstránenie stĺpca z tabuľky:

Mysql alter tabuľka drop index;

Mysql LOAD DATA INFILE " /tmp/filename.csv " nahradiť DO TABUĽKOVÝCH POLI UKONČENÝCH "," RIADKY UKONČENÉ "n" (pole1,pole2,pole3);

Používatelia servera MySQL, heslá - pridávanie, zmena používateľov a hesiel. Konzola

Vytvorenie nového užívateľa - pripojenie k serveru MySQL ako root, prepnúť do databázy, pridať používateľa, aktualizovať oprávnenia:

# mysql -u root -p mysql použite mysql; mysql INSERT INTO user (Host,User,Password) VALUES("%"," username ", PASSWORD(" password ")); mysql flush privilégiá;

Zmena hesla používateľa z konzoly na vzdialenom hostiteľovi db1.example.org:

# mysqladmin -u username -h db1.example.org -p heslo " nove-heslo "

Zmena hesla používateľa z konzoly MySQL- pripojiť sa ako root, aktualizovať heslo, aktualizovať oprávnenia:

# mysql -u root -p mysql NASTAVTE HESLO PRE " užívateľa "@" názov hostiteľa " = HESLO(" heslo tu "); mysql flush privilégiá;

Obnovenie/zmena hesla koreňového servera MySQL- zastaviť MySQL, spustite bez tabuliek privilégií, pripojte sa ako root, nastavte nové heslo, ukončite a reštartujte MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql použite mysql; mysql update user set password=PASSWORD(" newrootpassword ") kde User="root"; mysql; splachovacie privilégiá; mysql quit # /etc/init.d/mysql stop # /etc/init.d/mysql start

Nastavte heslo root, ak existuje heslo root.

# mysqladmin -u root heslo nové heslo

Aktualizujte heslo root:

# mysqladmin -u root -p staré heslo nové heslo

Nastavenie práva pripojiť sa k serveru z hostiteľa localhost s heslom "passwd" - pripojenie k subrootu, prepnutie do databázy, nastavenie privilégií, aktualizácia privilégií:

# mysql -u root -p mysql použite mysql; mysql udeľuje použitie na *.* bobovi @localhost identifikovanému pomocou " passwd "; mysql flush privilégiá;

Nastavenie používateľských oprávnení na používanie databázy - pripojenie ako root, prepnutie do databázy, nastavenie oprávnení, aktualizácia oprávnení:

# mysql -u root -p mysql použite mysql; mysql INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ("%","databasename","username","Y","Y","Y"," Y","Y","N"); mysql flush privilégiá;

Mysql udelí všetky privilégiá pre názov databázy .* používateľovi @localhost; mysql flush privilégiá;

Aktualizácia údajov v databáze:

Mysql UPDATE SET Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" kde = užívateľ";

Odstránenie riadku v tabuľke:

Mysql DELETE from where = "čokoľvek";

Aktualizácia práv v databáze:

Mysql flush privilégiá;

Zálohy - vytváranie, obnova databáz. Konzola

Vytvorte záložnú kópiu (výpis) všetkých databáz do súboru alldatabases.sql:

# mysqldump -u root -p heslo -opt ; /tmp/alldatabases.sql

Zálohujte jednu databázu do súboru databasename.sql:

# mysql dump -u užívateľské meno -p heslo -databases databasename ; /tmp/databasename.sql

Zálohujte jednu tabuľku do súboru databasename.tablename.sql:

# mysql dump -c -u užívateľské meno -p heslo názov databázy názov tabuľky ; /tmp/databasename.tablename.sql

Obnovenie databázy (alebo tabuľky) zo zálohy:

# mysql -u užívateľské meno -p heslo názov databázy< /tmp/databasename.sql

Tvorba databázových tabuliek. Konzola

názvy stĺpcov sú uvedené malými písmenami;
VEĽKÉ písmená - typy a atribúty stĺpcov;
v (zátvorkách) - hodnota typu stĺpca.

Vytvorte tabuľku, príklad 1:

mysql CREATE TABLE (krstné meno VARCHAR(20), stredné počiatočné VARCHAR(3), priezvisko VARCHAR(35), prípona VARCHAR(3), officeid VARCHAR(10), užívateľské meno VARCHAR(15), užívateľské meno VARCHAR(8), email VARCHAR(35 ), telefón VARCHAR(25), skupiny VARCHAR(15), dátumová pečiatka DATE, časová pečiatka TIME, pgpemail VARCHAR(255));

Vytvorte tabuľku, príklad 2:

Mysql vytvoriť tabuľku (osoba INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, meno VARCHAR(35), stredné meno VARCHAR(50), priezvisko VARCHAR(50) predvolené "bato");

Od autora: dievča, nejde ti naštartovať auto? Možno by sme to mohli skúsiť „z odtláčača“? Pomôžem! Neviete ako to je? Spustili ste server DBMS iba cez cmd? To znamená, že viete, ako spustiť MySQL cez príkazový riadok, ale neviete ani, ako naštartovať auto. Mademoiselle, ste „zvláštna“ blondínka!

Zvláštnosti v popise MySQL

Pri príprave každého článku musím „dôkladne“ prehľadávať internet a hľadať referenčné materiály o tej či onej disciplíne „site-building“. Z veľkej časti je na internete publikovaných veľa podrobných návodov a tutoriálov, ale nie pre MySQL.

Samozrejme, existujú hodné vzdelávacie, ale hlavná časť DBMS poskytuje iba príklady príkazov na písanie, a to aj bez uvedenia syntaxe. V takejto situácii je takmer nemožné, aby nejaký „atrapa“ porozumel napríklad tomu, ako sa pripojiť k MySQL cez príkazový riadok.

Ak chcete nájsť odpoveď pre začiatočníka, budete musieť prehľadať tucet tematických fór, kde sa profesionálni vývojári (vystupujúci ako takmer „akademici“) zhovievavo vysvetlia začiatočníkovi aspoň niečo normálne.

Stojí za to pochopiť, že skutočný správca by mal poznať všetky spôsoby spustenia a práce s databázovým serverom. Je jasné, že softvérové ​​shelly sú najpohodlnejšou metódou, ale nemusia byť vždy po ruke. Preto vedieť, ako povoliť MySQL cez príkazový riadok, viac ako raz zachráni údaje o webe aj vašu povesť špecialistu (ak sa plánujete venovať vývoju webu profesionálne).

Pozrime sa na túto tému podrobnejšie. A prosím, nerobte si tváre, ak sa vám čokoľvek uvedené v tomto materiáli zdá také jednoduché ako naštartovanie auta „z tyče“.

Spustite cmd

Ak chcete spustiť MySQL z príkazového riadku, najprv aktivujte samotnú utilitu (cmd), ktorá je súčasťou štandardnej sady Windows. Môžete to urobiť niekoľkými spôsobmi:

Klávesová skratka Win + R a potom v zobrazenom dialógovom okne „Spustiť“ zadajte cmd

Cez panel Štart.

Okrem toho môže byť MySQL dodávaný s natívnym shellom. Ak napríklad nainštalujete databázový server na lokálny počítač ako samostatnú „aplikáciu“, ktorá nie je súčasťou balíka „pánov“.

Natívny príkazový riadok MySQL sa spúšťa rovnako ako bežný cmd. Rozdiely v prevádzke oboch utilít sa prejavia neskôr. O tom si povieme v ďalšej časti.

Práca s príkazovým riadkom

Po prvé, poďme sa zaoberať nástrojom zabudovaným do operačného systému. Pozrime sa, ako spustiť MySQL z príkazového riadku Windows. K tomu potrebujete:

Cesta k priečinku v súborovom systéme PC, kde ste nainštalovali databázový server.

Používateľský účet – prihlasovacie meno a heslo.

Ak pracujete s Denverom, potom sa spustiteľný súbor nachádza na virtuálnom disku, ktorý sa vytvorí po spustení lokálneho servera, pozdĺž tejto cesty: Z:\usr\local\mysql-5.5\bin

Ako som už povedal, príkazový riadok MySQL v Denwer sa spúšťa cez cmd OC. To znamená, že ho najprv spustíme a potom určíme cestu k spustiteľnému súboru DBMS. Heslo a prihlasovacie meno pre prístup je možné zadať najskôr alebo neskôr po aktivácii pomôcky MySQL. Pre mňa je pohodlnejšie zaregistrovať všetko naraz: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Prihlásili sme sa na server DBMS s právami správcu. Nemám nastavené heslo pre root, takže jeho hodnota nie je uvedená. Po spustení MySQL z príkazového riadku sa nižšie zobrazia pomocné informácie o verzii pomôcky, serveri a ID pripojenia.

Teraz skontrolujme správnosť postupu a „silu“ našich práv. Ukážme si napríklad zoznam všetkých tabuliek, ktoré sa momentálne používajú na serveri:

ZOBRAZIŤ OTVORENÉ STOLY;

ZOBRAZIŤ OTVORENÉ STOLY ;

MySQL v príkazovom riadku Windows nám dal iba tabuľky, ktoré sú súčasťou systémovej databázy. Je to preto, že všetky údaje v ňom uložené sa používajú v spustenej inštancii DBMS. Takto sme vedeli, že server beží a že sme naň prihlásení s administrátorskými právami, ako sme plánovali.

Schéma práce s shellom nainštalovaným spolu so systémom správy databáz je mierne odlišná. Aby sme to všetko „zažili“ na vlastnej koži, aktivujme MySQL cez tento príkazový riadok.

Po jeho spustení sa zobrazí okno, v ktorom musíte okamžite zadať heslo. V opačnom prípade je celý proces interakcie s nástrojom rovnaký.

Práca s inými aplikáciami

Zloženie štandardnej sady nástrojov DBMS nie je obmedzené na jeden spustiteľný súbor servera. Ich sortiment je možné prezerať pohľadom do rovnakého priečinka, kde je umiestnený databázový server. Spustite napríklad utilitu MySQL dump cez príkazový riadok.

Najprv prejdite na virtuálny disk a potom pomocou príkazu cd prejdite do priečinka, v ktorom je uložený nástroj. Pripomínam, že je určený na vytváranie záložných kópií databáz.

V ďalšom kroku, pred prihlásením sa do MySQL cez príkazový riadok, budeme musieť zadať účet a heslo k nemu. Príklad použitia príkazu mysqldump:

mysqldump -uroot world>C:\Users\home\Desktop\dump\copy.sql

Aby príkaz fungoval správne, musí byť v čase vykonania vytvorený zadaný adresár. V opačnom prípade nástroj vráti správu, že takáto cesta neexistuje.

Za zmienku tiež stojí, že zadaný používateľ MySQL na príkazovom riadku musí mať práva na úpravu databázy alebo účet správcu.

Ostatné nástroje zahrnuté v štandardnej sade sa spúšťajú podobným spôsobom. S ich pomocou môžete vykonávať všetky základné operácie správy DBMS: spravovať roly, vytvárať zálohy, upravovať obsah úložísk. A tiež nainštalujte službu MySQL z príkazového riadku. Vo všeobecnosti všetko, bez čoho sa databázový server nespustí „z pusheru“.

Pre Win 32 vyberte distribúciu: Windows (x86, 32-bit), Zip-archív.

Pre Win 64: Windows (x86, 64-bit), Zip-archív.

Po kliknutí na tlačidlo Stiahnuť sa vám zobrazí registračný formulár, ktorý môžete preskočiť kliknutím na odkaz nižšie - Nie, ďakujem, prejdite na sťahovanie.

2. Vytvorte inštalačný priečinok. Napríklad . A rozbaľte do nej obsah archívu tak, aby zložky kôš, údaje, dokumenty a iné boli v koreňovom adresári inštalačného priečinka.

3. Prejdime k vytvoreniu konfiguračného súboru (my.ini). Ako základ berieme jeden zo štandardných súborov:

  • my-small.ini - vhodné pre tých, ktorí z času na čas používajú MySQL a nechcú, aby server zaberal veľa zdrojov.
  • my-medium.ini je tiež konfigurácia s nízkymi zdrojmi, ale je vhodná pre tých, ktorí používajú MySQL nepretržite (dobrá voľba pre domáci webový server).
  • my-large.ini a my-huge.ini - pre systémy používané ako dedikovaný server MySQL. My-large.ini však možno použiť pre domáci server, ak potrebujete dodatočný výkon MySQL (512 MB RAM nie je v dnešnej dobe tak veľa).
  • my-innodb-heavy-4G - pre dedikované servery s najmenej 4 GB RAM a používajúce iba tabuľky InnoDB.

V tomto príklade som ako základ zvolil my-medium.ini. Premenujte ho na my.ini a umiestnite ho do koreňového adresára inštalačného priečinka ( C:\Program Files\MySQL\MySQL Server 5.5).

Otvorte na úpravu (v bežnom programe Poznámkový blok) a hneď za riadok pridajte dva parametre:

Založené=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data

Všimnite si, že cesty používajú lomky (/) a nie spätné lomky (\).

basedir je cesta k inštalačnému priečinku.

datadir - cesta k priečinku s údajmi (kde sú uložené všetky databázy). Niekedy má zmysel umiestniť údaje na samostatný disk, aby sa zlepšil výkon alebo zabezpečila spoľahlivosť.

Pre každý prípad tu je fragment konfiguračného súboru po vykonaní zmien:

# The MySQL server basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16 miliónov max_allowed_packet = 1 milión table_open_cache = 64 sort_buffer_size = 512 kB net_buffer_length = 8 kB read_buffer_size = 256 kB read_rnd_buffer_size = 512 kB myisam_sort_buffer_size = 8 miliónov

4. Ďalším krokom je pridanie cesta C:\Program Files\MySQL\MySQL Server 5.5\bin do premennej prostredia PATH, aby sa uľahčilo spustenie MySQL z príkazového riadku. Ak to chcete urobiť, otvorte Vlastnosti systému -> Ďalšie nastavenia systému -> na karte Rozšírené úplne dole tlačidlo „Premenné prostredia...“. V okne, ktoré sa otvorí, rolujte cez systémové premenné, až kým nenájdeme Path. Vyberte tento riadok a kliknite na „Zmeniť...“. Na koniec riadku pridáme našu cestu so zachovaním existujúcich parametrov:

Všimnite si, že cesty sú oddelené bodkočiarkou. Uistite sa, že na začiatku a na konci vašej cesty je bodkočiarka.

5. Pred vykonaním skúšobnej prevádzky otvorte prichádzajúci port TCP 3306 v bráne Windows Firewall:

Ak máte vo svojom systéme nainštalovaný dodatočný firewall, musíte tiež otvoriť port TCP 3306 pre prichádzajúce pripojenia.

6. Teraz vykonáme skúšobnú prevádzku. V príkazovom riadku spustenom ako správca (je to potrebné, ak je UAC povolený na Seven alebo Vista), spustite:

Mysqld --konzola

Na obrazovke sa zobrazí niekoľko riadkov. Ak bolo spustenie úspešné, posledný riadok bude vyzerať asi takto:

Verzia: "5.5.9-log" socket: "" port: 3306 MySQL Community Server (GPL)

Nechajte toto okno otvorené a otvorte ďalšie okno príkazového riadku, do ktorého zadáme:

Mysql -u root

Ak bolo pripojenie úspešné, zobrazí sa príkazový riadok: mysql>

Pozrime sa, aké databázy máme:

Zobraziť databázy;

Bodkočiarka na konci SQL dotazu je POVINNÁ!

Odpoveď tímu:

Teraz sme konečne presvedčení, že server funguje.

7. Prejdime k ďalšiemu kroku – je potrebné nastaviť heslo správcu MySQL (užívateľ root). V predvolenom nastavení nie je nastavené žiadne heslo a toto je potrebné opraviť. V tom istom okne MySQL zadajte nasledujúce príkazy:

Použiť mysql UPDATE user SET heslo = PASSWORD("vaše_heslo") WHERE user = "root";

Skontrolujeme výsledok:

SELECT užívateľa, hostiteľ, heslo FROM užívateľa;

Ako môžete vidieť na snímke obrazovky, stĺpec hesla je vyplnený, čo znamená, že heslo bolo nastavené.

Pred ukončením spustite príkaz:

SPLACHOVAŤ PRIVILEGIÁ;

Teraz pri pripájaní musíte zadať heslo. Ak to chcete urobiť, použite prepínač -p:

Mysql -u root -p

Ak chcete vypnúť MySQL, spustite:

Mysqladmin -u root -p vypnutie

8. Posledným krokom je spustenie MySQL ako systémovej služby Windows.

Uistite sa, že v systéme nie sú žiadne aktívne procesy MySQL.

V príkazovom riadku spustenom ako správca spustite:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" – inštalácia

Cesta k mysqld musí byť špecifikovaná úplne (aj keď je uvedená v PATH)!

Ak chcete spustiť službu, otvorte „Správa počítača“ a manuálne spustite službu MySQL:

Alebo jednoduchšie cez príkazový riadok:

Čistý štart mysql

Ak chcete odstrániť službu, najskôr ju zastavte:

Net stop mysql

a vykonať:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --odstrániť

Od autora: Opäť ste sa stratili a neviete, ako sa prihlásiť do MySQL? Nie ste prvý! Zhromaždite všetkých, ktorí sa stratili, a teraz ju poďme priamo navštíviť. Komu „k nej“? Do najpopulárnejšieho DBMS na World Wide Web!

Kde sa nachádza MySQL v Denveri?

Nemyslí sa tým hlavné mesto štátu Colorado v USA, ale softvérový balík na tvorbu a testovanie aplikácií v PHP. Súprava pre „pánov“ obsahuje lokálny server Apache, server MySQL a shell phpMyAdmin. Práve s pomocou tohto softvérového balíka sa „nováčikovia“ najčastejšie naučia všetky zložitosti práce s týmto systémom správy databáz.

Pred prihlásením do MySQL cez prehliadač musíte spustiť lokálny server, potom do panela s adresou napísať localhost a do zobrazeného okna: „Hurá, funguje to! V sekcii utility vyberte phpMyAdmin.

Potom sa tam ocitnete (v phpMyAdmin).

Ideme do databáz cez „labyrint“

Vy a ja pôjdeme do „hustého“ lesa a pokúsime sa ho „preniesť“ na databázový server. Nemyslite si, že sa pred niekým skrývame, teraz sa budeme správať ako... Choď!

Pred prihlásením do MySQL cez príkazový riadok by ste mali zistiť, kde sa nachádza hlavný adresár databázového servera. Ak používate DBMS v jeho „čistej“ forme bez „nečistôt“ (mimo „džentlmenského“ súboru), potom sa koreňový priečinok servera nachádza tu: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

Ak používate Denver, potom sa hľadaný súbor nachádza na tejto ceste: Z:\usr\local\mysql-5.5\bin\mysql.exe,

kde Z je virtuálny disk, ktorý sa vytvorí po spustení lokálneho webového servera. Môžete ho mať pod iným názvom (presnejšie písmenom).

Máme záujem o súbor mysql.exe. Spustíme to zadaním názvu databázového servera, hesla a používateľa, pod ktorým sa budeme prihlasovať do MySQL.

Ako povoliť MySQL cez príkazový riadok: prejdite na „Štart“, zo štandardných programov vyberte „Príkazový riadok“. Spustíme utilitu a odteraz si krok za krokom popíšeme celý postup „prechádzky“ v hustom lese, aby sa celá skupina „stratených“ ľudí opäť nestratila. Začnime:

V čiernom okne CMD (príkazový riadok) zadajte cestu, kde je uložený spustiteľný súbor MySQL, a vedľa neho uveďte používateľské meno a heslo DBMS. Keďže máme lokálny server, za identifikátor u zadávame užívateľské meno root bez hesla.

Toto je v skutočnosti nesprávne a každý používateľ servera MySQL musí mať nastavené heslo. Všetky otázky zabezpečenia DBMS podrobnejšie zvážime v jednej z našich ďalších publikácií.

Tu je celý „kód“: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Ak všetko prebehlo dobre, nižšie v okne príkazového riadku by sa mali objaviť informácie o verzii spustenej služby, roku vydania a ďalšie pre nás „nepotrebné“ informácie.

Teraz, aby sme skontrolovali správnosť pripojenia, zadáme dotaz za operátorom mysql>, ktorý zobrazí všetky databázy uložené na serveri. Vyžiadať kód:

zobraziť databázy;

Nezabudnite na koniec požiadavky uviesť bodkočiarku, inak systém zobrazí chybové hlásenie. Po zadaní dotazu a stlačení klávesu „Enter“ sme dostali zoznam všetkých databáz uložených na serveri DBMS:

To nám však nestačí. Poďme sa ponoriť ešte hlbšie do štruktúry. Pozrime sa, ako sa prihlásiť do databázy MySQL a získať zoznam všetkých jej tabuliek. Dovoľte mi pripomenúť, že už sme autorizovaní na serveri, takže nám stačí zadať ešte jednu požiadavku:

zobraziť tabuľky z db1;

zobraziť tabuľky z db1;

db1 je názov databázy, ktorú potrebujeme.

Na snímke obrazovky vidíme, že požadovaná databáza obsahuje iba jednu tabuľku.

Poďme kopať hlbšie!

Ako sa hovorí, „chuť do jedla“ prichádza po obdržaní výsledkov vykonania kódu. Preto sa pokúsime siahnuť ešte hlbšie, aby sme sa dostali k údajom, ktoré sú v tabuľke uložené. Pred opätovným prihlásením do MySQL tu je príklad SQL dotazu, pomocou ktorého môžeme realizovať naše plány:

VYBERTE * ZO zvieraťa;

VYBERTE * ZO zvieraťa ;

Zadáme požiadavku, spustíme ju na realizáciu a... Z nejakého dôvodu nám server oznámil chybu.

A to všetko preto, že sme zabudli povedať MySQL, o ktorú databázu máme záujem. Server teda „prisahá“, že žiadna z databáz nie je alokovaná. To opäť dokazuje, že práca s DBMS cez príkazový riadok je veľmi odlišná od interakcie s ním cez softvérový shell.

V phpMySQL by sa tento dotaz úspešne vykonal a server by vrátil výber všetkých riadkov obsiahnutých v požadovanej tabuľke.

Opravme naše bežné opomenutie (vždy je ťažké priznať si vinu) a pred opätovným prihlásením do MySQL cez konzolu pripravíme „konkrétny“ dotaz, pomocou ktorého systém nasmerujeme na požadovanú databázu:

USE db1 ;

Po zadaní tohto riadku a jeho vykonaní server zobrazí správu potvrdzujúcu, že požadovaná databáza bola pridelená.

A teraz zadáme a spustíme dotaz na opätovné získanie všetkých údajov z tabuľky zvierat. "Nech sú údaje!" - povedal administrátor a spustil SELECT. Dostali sme sa na koniec db1 a dostali sme obsah tabuľky zvierat. Nie nadarmo sme pred vstupom do databázy MySQL vykonali celý „rituál“ a napísali správne „kúzlo“ v SQL.

Čo ešte môžete vykopať?

Prekopali sme sa hlboko na úplné dno MySQL. Teraz poďme kopať trochu na stranu. Aké ďalšie informácie možno získať cez príkazový riadok dopytovaním MySQL? Chcete poznať štruktúru tabuľky, dátové typy všetkých stĺpcov, primárny kľúč? Prosím! Spustite tento dotaz:

opísať zviera;

opísať zviera;

Niekedy, aby ste vedeli, ako povoliť server MySQL, potrebujete získať zoznam všetkých registrovaných používateľov DBMS. Na to slúži nasledujúci dotaz.