Rad s MySQL iz naredbenog retka. Automatska instalacija MySQL-a na Windows Pokrenite mysql iz linux naredbenog retka

Pokretanje i zaustavljanje MySQL poslužitelja iz naredbenog retka

Možete ručno pokrenuti MySQL poslužitelj na jedan od dva načina:

Dvaput kliknite datoteku mysqld-nt.exe koja se nalazi u poddirektoriju bin direktorija gdje je MySQL instaliran.

Otvorite prozor naredbenog retka sustava Windows. Za to kliknite gumb Start, iz izbornika odaberite Pokreni, u prozoru Pokreni program koji se pojavi, u polje Otvori unesite naredbu cmd i kliknite U redu. Na ekranu će se pojaviti prozor naredbenog retka (Slika 1.25).

Riža. 1.25. Prozor naredbenog retka


U naredbeni redak unesite naredbu

mysqld-nt

i pritisnite Enter. MySQL poslužitelj će se pokrenuti.

Ako prilikom postavljanja poslužitelja put do poddirektorija bin nije dodan vrijednosti sistemske varijable Path, tada za pokretanje poslužitelja morate unijeti ne samo naziv datoteke, već i puni put do njega, na primjer :

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

Ako želite vidjeti dijagnostičke poruke o poslužitelju u prozoru naredbenog retka, umjesto mysqld-nt, unesite

mysqld-nt –konzola

Pažnja!

Ako niste naveli root korisničku lozinku prilikom postavljanja MySQL poslužitelja, morate postaviti lozinku prvi put kada pokrenete poslužitelj (inače bilo tko može upravljati poslužiteljem kao root bez lozinke).

Za postavljanje root lozinke otvorite novi prozor naredbenog retka i unesite sljedeću naredbu:

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

(ili C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root lozinka<пароль>, ako put do poddirektorija bin nije dodan sistemskoj varijabli Path prilikom postavljanja poslužitelja) i pritisnite Enter.

Ubuduće, ako trebate promijeniti root korisničku lozinku, pokrenite istu naredbu, samo koristeći -p opciju:

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

Kada se pojavi upit za unos lozinke, unesite staru lozinku i pritisnite Enter.

Na kraju, ako trebate zaustaviti MySQL poslužitelj, pokrenite naredbu

mysqladmin -u root -p isključivanje

i na upit Unesite lozinku, unesite root korisničku lozinku. Pritisni enter. MySQL poslužitelj će biti zaustavljen.

Također možete koristiti grafički uslužni program MySQL Administrator za pokretanje i zaustavljanje MySQL poslužitelja.

Pokretanje i zaustavljanje MySQL poslužitelja pomoću MySQL Administratora

Za pokretanje MySQL poslužitelja pomoću grafičkog uslužnog programa MySQL Administrator, slijedite ove korake.

1. Pokrenite program MySQL Administrator (Start → Svi programi → MySQL → MySQL Administrator). Na ekranu će se pojaviti prozor za povezivanje s poslužiteljem (Slika 1.26).

Riža. 1.26.


2. Pritisnite i držite tipku Ctrl i kliknite gumb Preskoči koji se pojavljuje u donjem desnom kutu prozora umjesto gumba Odustani. Na ekranu će se pojaviti glavni MySQL Administrator prozor (Slika 1.27).

Riža. 1.27. Glavni prozor MySQL Administratora


4. Ako MySQL poslužitelj nije konfiguriran kao Windows usluga, gumb Pokreni uslugu koji se nalazi u desnom oknu prozora je siv. Moraju se poduzeti sljedeći preliminarni koraci:

1) Idite na karticu Konfiguriraj uslugu. Pronađite gumb Instaliraj novu uslugu na dnu kartice i kliknite ga;

2) u dijaloškom okviru koji se pojavi navedite naziv usluge i kliknite U redu;

3) u polje Config Filename unesite put do my.ini konfiguracijske datoteke (Sl. 1.28), na primjer C:\Program Files\MySQL\MySQL Server 5.0\my.ini. Crvena boja fonta znači da datoteka nije pronađena; ako se boja promijeni u normalnu, onda je put ispravan;

4) u polje Path to binary unesite put do datoteke mysqld-nt.exe, na primjer C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt;

6) vratite se na karticu Start/Stop Service.

Riža. 1.28. Kartica Konfiguriraj uslugu 5. Pritisnite gumb Pokreni uslugu. MySQL poslužitelj će se pokrenuti.


Pažnja!

Ako niste naveli root korisničku lozinku prilikom postavljanja MySQL poslužitelja, morate je postaviti prilikom prvog pokretanja poslužitelja (inače bilo tko može upravljati poslužiteljem kao root bez lozinke). U trenutnoj verziji MySQL Administratora postavljanje root lozinke nije dostupno, a za izvođenje ove operacije morate koristiti uslužni program naredbenog retka mysqladmin (pogledajte pododjeljak “Pokretanje i zaustavljanje MySQL poslužitelja iz naredbenog retka”).

Za zaustavljanje MySQL poslužitelja pomoću MySQL Administratora, slijedite ove korake.

1. Pokrenite program MySQL Administrator (Start → Svi programi → MySQL → MySQL Administrator). Na ekranu će se pojaviti prozor za povezivanje s poslužiteljem (vidi sliku 1.26).

Server Host – vrijednost localhost (lokalno računalo);

Port – broj porta odabran prilikom postavljanja poslužitelja (zadano – 3306);

Korisničko ime – korijenska vrijednost;

Lozinka – root korisnička lozinka. Pritisnite OK.

3. U glavnom prozoru MySQL Administratora, u lijevom oknu kliknite Kontrola usluge.

4. U desnom oknu prozora kliknite gumb Zaustavi uslugu. MySQL poslužitelj će biti zaustavljen.

U sljedećem pododjeljku naučit ćete kako pokrenuti MySQL poslužitelj pomoću Windows administrativnih alata.

Pokretanje i zaustavljanje MySQL poslužitelja s upravljačke ploče

Ako je MySQL poslužitelj konfiguriran kao Windows usluga pomoću čarobnjaka za postavljanje (pogledajte pododjeljak “Konfiguriranje MySQL poslužitelja”) ili pomoću uslužnog programa MySQL Administrator (pogledajte pododjeljak “Pokretanje i zaustavljanje MySQL poslužitelja pomoću MySQL Administratora”), tada pokrenite i zaustavite Možete koristiti komponentu Usluge na upravljačkoj ploči.

Da biste pristupili komponenti Usluge, kliknite gumb Start, odaberite Upravljačka ploča s izbornika, zatim dvaput kliknite Administrativni alati na upravljačkoj ploči i na kraju dvaput kliknite Usluge u prozoru Administrativni alati. Na ekranu će se pojaviti prozor Usluge (Slika 1.29) s popisom svih lokalnih usluga.

Riža. 1.29. MySQL usluga u upravljačkoj ploči


U prozoru Usluge kliknite na naziv MySQL servisa (naziv se određuje prilikom kreiranja servisa u konfiguracijskom čarobnjaku ili u MySQL Administratoru). Zatim kliknite na željenu poveznicu ispod naziva usluge: Pokreni uslugu, Zaustavi uslugu ili Ponovno pokreni uslugu.

Kada se MySQL poslužitelj pokrene, možete se spojiti na njega. U sljedećim pododjeljcima naučit ćete kako to učiniti.

Spajanje na poslužitelj iz naredbenog retka

Za povezivanje s MySQL poslužiteljem iz naredbenog retka slijedite ove korake.

1. Otvorite prozor naredbenog retka sustava Windows. Da biste to učinili, kliknite gumb Start, odaberite Run iz izbornika, u prozoru Run a program koji se pojavi unesite cmd u polje Open i kliknite OK.

2. U retku za naredbe (pogledajte sliku 1.25), unesite naredbu

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

(Gdje<Имя компьютера>je naziv računala na kojem je poslužitelj pokrenut) i pritisnite Enter. Kada se od vas zatraži Unesite lozinku, unesite korisničku lozinku.

Ako se trebate spojiti na MySQL poslužitelj koji radi na istom računalu, naziv računala (localhost) može se izostaviti, na primjer

mysql -u root -p

Nakon spajanja na poslužitelj, prompt naredbenog retka promijenit će se u mysql> (Slika 1.30). Sada možete početi raditi s bazom podataka: dodavati tablice, unositi i tražiti podatke, registrirati nove korisnike itd.

Riža. 1.30. Spajanje na MySQL poslužitelj iz naredbenog retka


Za prekid veze s poslužiteljem jednostavno upišite naredbu u naredbeni redak

i pritisnite Enter.

Alternativni način povezivanja s MySQL poslužiteljem pruža grafički uslužni program MySQL Query Browser.

Spajanje na poslužitelj pomoću MySQL Query Browsera

Uslužni program MySQL Query Browser je sučelje za kreiranje, uređivanje i izvršavanje SQL naredbi. Pogodniji je od naredbenog retka. Ako odlučite koristiti MySQL Query Browser za rad s bazom podataka, slijedite ove korake za povezivanje s poslužiteljem.

1. Pokrenite program MySQL Query Browser (Start → Svi programi → MySQL → MySQL Query Browser). Na ekranu će se pojaviti prozor za povezivanje s poslužiteljem (Slika 1.31).

Riža. 1.31. Prozor za povezivanje s MySQL poslužiteljem


2. U polja prozora veze s poslužiteljem unesite parametre veze:

Server Host – naziv računala na kojem je pokrenut MySQL poslužitelj;

Port – broj porta odabran prilikom postavljanja poslužitelja (zadano – 330 6);

Korisničko ime – korisničko ime;

Lozinka – korisnička lozinka;

Zadana shema - Naziv baze podataka s kojom ćete raditi (ovo može biti postojeća baza podataka ili nova).

3. Pritisnite U redu. Ako ste unijeli naziv za novu bazu podataka, tada u dijaloškom okviru koji se pojavi kliknite Da za izradu ove baze podataka.

Nakon spajanja na poslužitelj, na ekranu će se pojaviti glavni prozor MySQL Query Browser (Slika 1.32). U njemu možete obavljati bilo koje operacije s bazom podataka: dodavati tablice, unositi i postavljati upite podacima, registrirati nove korisnike itd.

Riža. 1.32. Glavni prozor MySQL Query Browsera


Pažnja!

Zadani font koji se koristi u MySQL Query Browseru za prikaz SQL upita ne podržava ruska slova. Za unos ruskih slova u tekstove upita morate odabrati drugi font (na primjer, Arial ili Book Antiqua). Da biste to učinili, u glavnom prozoru MySQL Query Browser otvorite izbornik Alati i odaberite Opcije. U prozoru s opcijama koji se pojavi, u lijevom području kliknite Opće opcije, au desnom području, u polju Font koda, odaberite željeni font s popisa. Pritisnite gumb Primijeni.

Za prekid veze s poslužiteljem jednostavno zatvorite prozor MySQL Query Browser.

Ovime završavamo naš uvod u MySQL i prelazimo na zbrajanje rezultata.

1.6. Sažetak

Ovo poglavlje ispitalo je MySQL DBMS i grafičke pomoćne programe MySQL Administrator i MySQL Query Browser. Savladali ste prilično složenu proceduru instaliranja i konfiguriranja MySQL poslužitelja, naučili kako upravljati poslužiteljem i povezati se s njim. Također ste naučili kako radi relacijska baza podataka i kako dizajnirati vlastitu bazu podataka.

Dakle, sljedeći korak je izgradnja baze podataka u MySQL-u. Tome je posvećeno drugo poglavlje. Pokazat će vam kako izraditi tablice, unijeti informacije u njih i pronaći informacije koje su vam potrebne u bazi podataka.

2. Poglavlje
Upravljanje bazom podataka pomoću SQL-a

U ovom ćete poglavlju naučiti kako raditi s podacima u MySQL DBMS-u, kako odrediti njegovu strukturu i kako dodavati, mijenjati i brisati podatke. Ove operacije izvodi SQL, univerzalni strukturirani upitni jezik koji je standardno sredstvo za pristup relacijskim bazama podataka.

Za izvršavanje SQL naredbi možete koristiti bilo koju od mnogih MySQL poslužiteljskih klijentskih aplikacija. Ovo poglavlje neće pokrivati ​​aplikacije trećih strana. Upoznat ćete samo aplikacije koje je izradio MySQL AB: uslužni program mysql naredbenog retka i grafički uslužni program MySQL Query Browser.

Sve podatkovne operacije dostupne su u oba pomoćna programa. MySQL Query Browser je prikladan za rad s bazom podataka: njegove komponente su jasno predstavljene, možete izravno uređivati ​​podatke (bez korištenja SQL UPDATE operatora), raditi s upitima, na primjer, izgraditi ih pomoću posebnog alata (i ne trebate za ručni unos imena tablica i stupaca), spremanje upita u datoteku, izvoz rezultata upita i još mnogo toga. O svim mogućnostima MySQL Query Browsera možete saznati u dokumentaciji na ruskom, koja se može pronaći na http://dev.mysql.com/doc/query-browser/ru/index.html.

Prvo ćete naučiti kako pokrenuti SQL naredbe u MySQL Query Browseru i naredbenom retku, a zatim ćemo pokriti samo sintaksu SQL naredbi.

2.1. Izvršavanje SQL naredbi

Prije izvršavanja SQL naredbi morate se spojiti na pokrenuti MySQL poslužitelj (kako to učiniti opisano je u 1. poglavlju). U ovom odjeljku naučit ćete kako kreirati SQL naredbe i poslati ih poslužitelju na izvršenje.

Ako koristite naredbeni redak, da biste izvršili SQL naredbu, unesite njen tekst u prozor naredbenog retka i pritisnite tipku Enter za slanje naredbe na poslužitelj. Da biste izbjegli probleme s kodiranjem podataka na ruskom jeziku, prije početka rada s podacima pokrenite naredbu

POSTAVLJA IMENA cp866;

Rezultat izvršavanja ove naredbe možete vidjeti na sl. 2.1.

Riža. 2.1. Postavljanje kodiranja u naredbenom retku


Naredba SET NAMES mora se ponoviti kada svatko povezivanje s poslužiteljem pomoću naredbenog retka. Ova naredba govori poslužitelju da ova klijentska aplikacija (uslužni program mysql) koristi CP-866 kodiranje (ovo je kodiranje Windows naredbenog retka), a poslužitelj će automatski izvršiti konverziju kodiranja kada komunicira s klijentskom aplikacijom.

Nakon promjene kodiranja, možete unijeti bilo koju SQL naredbu u naredbeni redak. Poruka o rezultatu naredbe, kao i traženi podaci, prikazuju se izravno u prozoru naredbenog retka (slika 2.2).

Riža. 2.2. Izvršavanje SQL upita na naredbenom retku


Uslužni program mysql omogućuje unos naredbi u više redaka (na slici 2.3 naredba SHOW DATABASES je unesena na ovaj način). Ako točka sa zarezom nije unesena kao znak kraja naredbe, tada kada pritisnete tipku Enter, uslužni program ne šalje naredbu poslužitelju, već vas traži da nastavite s unosom naredbe. Ako želite poništiti višerednu naredbu, upišite \c (Slika 2.3).

Riža. 2.3. Višelinijska naredba


Ako koristite MySQL Query Browser, tada ne morate postavljati kodiranje - ovaj program radi u UTF-8 kodiranju i sam to prijavljuje poslužitelju. Međutim, u MySQL Query Browseru postoji problem s prikazom ruskih slova u području upita (područje gdje se unosi tekst SQL naredbi, sl. 2.4). Da biste riješili ovaj problem, trebate promijeniti font koji se koristi u području upita (kako to učiniti opisano je na kraju prethodnog poglavlja). Font trebate promijeniti samo jednom.

Riža. 2.4. Izvršavanje SQL upita u MySQL Query Browseru


U području upita možete unijeti nekoliko SQL naredbi odjednom, kao što je prikazano na slici. 2.4. Trenutna naredba (kursor je na jednom od njenih redaka) označena je bijelom pozadinom, preostale naredbe prikazane su na svijetlo sivoj pozadini. Da biste izvršili trenutnu naredbu, možete kliknuti gumb Izvrši koji se nalazi desno od područja upita ili kombinaciju tipki Ctrl+Enter. Nakon izvršenja naredbe, traženi podaci se prikazuju u području rezultata, au dnu ovog područja ispisuje se poruka o rezultatu naredbe.

Sada kada ste naučili kako unijeti SQL naredbe, počnimo upravljati podacima pomoću ovih naredbi. Prije svega, pogledat ćemo naredbe dizajnirane za rad s bazom podataka kao cjelinom.

2.2. Izrada baze podataka

U ovom ćete odjeljku naučiti kako stvoriti i izbrisati bazu podataka, promijeniti zadano kodiranje za nju, odabrati trenutnu bazu podataka i također pogledati popis svih baza podataka na određenom MySQL poslužitelju.

Za izradu baze podataka pokrenite naredbu

STVARANJE BAZE PODATAKA<Имя базы данных>;

Na primjer, naredba

STVARANJE BAZE PODATAKA SalesDept;

stvara bazu podataka pod nazivom SalesDept.

Ako iz nekog razloga trebate postaviti zadano kodiranje za novu bazu podataka koje se razlikuje od kodiranja navedenog prilikom postavljanja MySQL-a, tada prilikom izrade baze podataka možete odrediti željeno kodiranje (skup znakova) i/ili pravilo usporedbe (sortiranja) za vrijednosti znakova:

STVARANJE BAZE PODATAKA<Имя базы данных>

SKUP ZNAKOVA<Имя кодировки>

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

Na primjer, ako uvezete podatke u novu bazu podataka koja je u CP-1251 kodiranju, tada ćemo to kodiranje označiti prilikom izrade baze podataka na ovaj način:

STVARANJE BAZE PODATAKA SalesDept

SKUP ZNAKOVA cp1251 COLLATE cp1251_general_ci;

Savjet

Za prikaz popisa kodiranja korištenih u MySQL-u, pokrenite naredbu SHOW CHARACTER SET; i da vidite popis pravila za usporedbu simboličkih vrijednosti, koristite naredbu SHOW COLLATION;. U ovom slučaju možete koristiti operator LIKE: na primjer, da vidite sva pravila usporedbe za CP-1251 kodiranje, pokrenite naredbu SHOW COLLATION LIKE %1251%;. Završetak “_ci” (neosjetljivo na velika i mala slova) u nazivu pravila usporedbe znači da se pri usporedbi i razvrstavanju velika i mala slova ne uzimaju u obzir, završetak “_cs” (neosjetljivo na velika i mala slova) – velika i mala slova se uzimaju u obzir, završetak “_bin” (binarni) – usporedba i sortiranje se izvode pomoću numeričkih kodova znakova. Za većinu pravila usporedbe možete pronaći opis (odnosno redoslijed znakova prema kojem će tekstualne vrijednosti biti poredane) na web stranici http://www.collation-charts.org/mysql60/.

Kodiranje navedeno prilikom stvaranja baze podataka koristit će se prema zadanim postavkama za tablice u ovoj bazi podataka, međutim, možete navesti drugačije kodiranje.

Pomoću naredbe možete promijeniti kodiranje i/ili pravilo usporedbe za vrijednosti znakova za bazu podataka

PROMIJENI BAZA PODATAKA<Имя базы данных>

SKUP ZNAKOVA<Имя кодировки>

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

U ovom slučaju, kodiranje korišteno u postojećim tablicama baze podataka ostaje isto; Mijenja se samo zadano kodiranje za novostvorene tablice.

Za uklanjanje nepotrebne ili pogrešno stvorene baze podataka pokrenite naredbu

ISPUSTI BAZU PODATAKA<Имя базы данных>;

Pažnja!

Brisanje baze podataka vrlo je važna operacija jer briše sve tablice u bazi podataka i podatke pohranjene u tablicama. Prije brisanja preporučuje se izraditi sigurnosnu kopiju baze podataka.

Možete odabrati jednu od baza podataka kreiranih na ovom MySQL poslužitelju kao trenutnu bazu pomoću naredbe

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

Na primjer,:

USE SalesDept;

Zatim možete izvoditi operacije na tablicama u toj bazi podataka bez dodavanja naziva tablice ispred naziva baze podataka. Na primjer, za pristup tablici Customers u bazi podataka SalesDept, možete jednostavno napisati Customers umjesto SalesDept.Customers. Određivanjem trenutne baze podataka, možete pristupiti tablicama u drugim bazama podataka, ali morate koristiti naziv baze podataka kao prefiks. Odabir trenutne baze podataka sprema se dok se ne odspojite s poslužitelja ili dok ne odaberete drugu trenutnu bazu podataka.

Da biste vidjeli popis svih baza podataka koje postoje na određenom MySQL poslužitelju, pokrenite naredbu

PRIKAŽI BAZE PODATAKA;

Čak i ako još niste izradili nijednu bazu podataka, vidjet ćete tri baze podataka sustava na rezultirajućem popisu.

INFORMATION_SCHEMA je informacijska baza podataka iz koje možete dobiti informacije o svim drugim bazama podataka, strukturi podataka u njima i svim vrstama objekata: tablice, stupci, primarni i strani ključevi, prava pristupa, pohranjene procedure, kodiranja itd. Ova baza podataka je dostupna Samo je za čitanje i virtualna je, što znači da nije pohranjena kao direktorij na disku: sve informacije koje se traže iz ove baze podataka dinamički pruža MySQL poslužitelj.

Mysql je uslužna baza podataka koju koristi MySQL poslužitelj. Pohranjuje informacije o registriranim korisnicima i njihovim pravima pristupa, referentne informacije itd.

Test je prazna baza podataka koja se može koristiti za isprobavanje ili jednostavno izbrisati.

Dakle, savladali ste osnovne operacije koje se izvode s bazom podataka u cjelini: naredbe CREATE DATABASE (kreiranje), ALTER DATABASE (promjena), DROP DATABASE (brisanje), USE (odabir trenutne baze podataka) i SHOW DATABASES (pregled popisa). baza podataka). Zatim ćemo pogledati operacije u tablici. U ovom slučaju pretpostavit ćemo da ste odabrali bazu podataka kao trenutnu i da radite s njezinim tablicama.

2.3. Rad s tablicama

U ovom odjeljku naučit ćete kako stvoriti, modificirati i izbrisati tablicu, kako pregledati informacije o tablici i popis svih tablica u trenutnoj bazi podataka. Počnimo s najtežom naredbom - stvaranjem tablice.

Izrada tablice

Da biste kreirali tablicu, pokrenite naredbu prikazanu u ispisu 2.1.

Listing 2.1. Naredba za kreiranje tablice

STVARANJE TABLICE<Имя таблицы>

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

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

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

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


Kao što vidite, naredba za kreiranje tablice može uključivati ​​mnogo parametara, ali mnogi od njih su izborni (u Ispisu 2.1 ovi parametri su u uglatim zagradama). Zapravo, da biste stvorili tablicu, samo trebate navesti njezin naziv te nazive i vrste svih stupaca; po potrebi se koriste i drugi parametri.

Pogledajmo najprije nekoliko primjera koji će vam pomoći da svladate naredbu CREATE TABLE i odmah, bez proučavanja njenih brojnih parametara, počnete stvarati vlastite (jednostavne strukture) tablice.

Pretpostavimo da gradimo bazu podataka koju smo dizajnirali u 1. poglavlju. Koristeći naredbe iz prethodnog odjeljka, stvorili smo praznu bazu podataka SalesDept i odabrali je kao trenutnu. Kreirajmo sada tri tablice: Kupci, Proizvodi i Narudžbe. Ispis 2.2 prikazuje naredbu za kreiranje tablice kupaca.

Listing 2.2. Naredba za kreiranje tablice Kupci

STVARANJE TABLICE Kupci

(id SERIAL,

ime VARCHAR(100),

telefon VARCHAR(20),

adresa VARCHAR(150),

ocjena INT,

PRIMARNI KLJUČ (id))


Ova naredba je koristila parametre: prvo, naziv tablice i, drugo, nazive i tipove stupaca od kojih će se tablica sastojati (pogledajte i tablicu 1.1 u 1. poglavlju).

Id – identifikator zapisa. Ovom ste stupcu dodijelili tip SERIAL, koji vam omogućuje automatsko numeriranje redaka tablice. Ključna riječ SERIAL stoji za BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE. To znači da se veliki cijeli (BIGINT) pozitivni (UNSIGNED) brojevi mogu unijeti u stupac, dok se odsutnost nedefiniranih i duplih vrijednosti (NOT NULL UNIQUE) automatski kontrolira. Ako prilikom dodavanja retka u tablicu ne navedete vrijednost za ovaj stupac, tada će MySQL program unijeti sljedeći redni broj (AUTO_INCREMENT) u ovaj stupac.

Bilješka

NULL je konstanta koja označava odsutnost vrijednosti. Ako stupac sadrži NULL vrijednost, tada se pretpostavlja da ne postoji definirana vrijednost za taj stupac (zbog čega NULL nazivamo i null vrijednošću). NULL ne treba brkati s praznim nizom ("") ili brojem 0. NULL vrijednosti tretiraju se drugačije: većina funkcija i operatora vraća NULL ako je jedan od argumenata NULL. Na primjer, rezultat usporedbe 1 = 1 je istinita vrijednost (TRUE), a rezultat usporedbe NULL = NULL je nedefinirana vrijednost (NULL), odnosno dvije nedefinirane vrijednosti ne smatraju se jednakima.

Ime je ime klijenta, telefon je broj telefona, a adresa je adresa. Dodijelili ste tip VARCHAR ovim stupcima jer će sadržavati znakovne vrijednosti. Najveći dopušteni broj znakova u vrijednosti stupca naveden je u zagradama.

Treće, odredili ste da će stupac id biti primarni ključ tablice uključivanjem klauzule PRIMARY KEY (id) u naredbu za stvaranje tablice.

Četvrto, naveli ste dva izborna parametra za ovu tablicu. Parametar ENGINE specificira tip tablice. Dodijelili ste tablici Kupci vrstu InnoDB, budući da samo ova vrsta osigurava održavanje cjelovitosti odnosa između tablica (više detalja o vrstama tablica bit će raspravljeno u odjeljku “Neobavezna svojstva tablice”). Parametar CHARACTER SET navodi zadano kodiranje za podatke u tablici. Budući da niste zasebno postavili kodiranje za stupce imena, telefona i adrese, podaci u tim stupcima bit će pohranjeni u UTF-8, što je zadano kodiranje za tablicu Kupci.

Sljedeći primjer koji ćemo pogledati je naredba za kreiranje tablice proizvoda prikazana u ispisu 2.3.

Ispis 2.3. Naredba za izradu tablice proizvoda

CREATE TABLE Proizvodi

(id SERIAL,

opis VARCHAR(100),

detalji TEKST,

cijena DECIMAL(8,2),

PRIMARNI KLJUČ (id))

MOTOR InnoDB SKUP ZNAKOVA utf8;


Ova naredba vrlo je slična naredbi za kreiranje tablice Kupci i razlikuje se samo u nazivu tablice i skupu stupaca. Stupci ID (broj proizvoda) i opis (naziv proizvoda) u tablici Proizvodi imaju tipove koji su nam već poznati. Stupac pojedinosti je tipa TEXT. Ovu je vrstu prikladno koristiti umjesto vrste VARCHAR ako će stupac sadržavati duge vrijednosti: ukupna duljina vrijednosti svih stupaca VARCHAR ograničena je na 65 535 bajtova za svaku tablicu i nema ograničenja ukupne duljine stupce TEKST. Nedostatak tipa TEXT je nemogućnost uključivanja takvih stupaca u vanjski ključ tablice, odnosno stvaranja odnosa između tablica na temelju tih stupaca.

Stupac cijena je tipa DECIMAL, dizajniran za pohranjivanje novčanih iznosa i drugih vrijednosti za koje je važno izbjeći pogreške zaokruživanja. U zagradama smo naveli dva broja: prvi od njih određuje maksimalan broj znamenki u vrijednosti stupca, drugi - maksimalan broj znamenki nakon decimalnog razdjelnika. Drugim riječima, cijena proizvoda može sadržavati do šest znamenki u cijelom dijelu (6 = 8–2) i do dvije znamenke u razlomljenom dijelu.

I konačno, posljednji primjer je naredba za kreiranje tablice Narudžbe, prikazana u ispisu 2.4.

Listing 2.4. Naredba za kreiranje tablice naloga

STVARAJTE REDOSREDE U TABLAMA

(id SERIAL,

datum DATE,

product_id BIGINT UNSIGNED NOT NULL,

količina INT UNSIGNED,

iznos DECIMAL(10,2),

customer_id BIGINT UNSIGNED,

PRIMARNI KLJUČ (id),

FOREIGN KEY (product_id) REFERENCE Proizvodi (id)

PRI BRISANJU OGRANIČENJA NA AŽURIRANJE KASKADA,

FOREIGN KEY (customer_id) REFERENCE Kupci (id)

NA BRISANJE OGRANIČENO NA AŽURIRANJE KASKADA)

MOTOR InnoDB SKUP ZNAKOVA utf8;


Posebna značajka tablice Orders je prisutnost stranih ključeva: stupac product_id sadrži brojeve proizvoda iz tablice Products, a stupac customer_id sadrži brojeve kupaca iz tablice Customers (pogledajte i tablicu 1.2 u poglavlju 1). Budući da su brojevi proizvoda i kupaca veliki pozitivni cijeli brojevi, dodijelili smo stupcima product_id i customer_id tip BIGINT UNSIGNED.

Dalje, kako bismo osigurali da se integritet odnosa automatski održava (o integritetu smo govorili u 1. poglavlju), rekli smo MySQL-u kojem primarnom ključu odgovara svaki strani ključ. Dakle, konstrukcija FOREIGN KEY (customer_id) REFERENCE Customers (id) znači da stupac customer_id može sadržavati samo vrijednosti iz stupca id tablice Customers i null vrijednosti, a ostale vrijednosti su zabranjene. Za stupac product_id postavili smo slično ograničenje i dodijelili svojstvo NOT NULL ovom stupcu kako bismo spriječili registriranje narudžbi s nedefiniranim proizvodom. Dodatno smo naznačili pravila za održavanje cjelovitosti za svaku od veza (o njima smo također raspravljali u 1. poglavlju). Pravilo ON DELETE RESTRICT znači da ne možete izbrisati zapis kupca ako taj kupac ima registriranu narudžbu i ne možete izbrisati zapis proizvoda ako je taj proizvod netko naručio. Pravilo ON UPDATE CASCADE znači da kada se promijeni broj kupca u tablici Kupci ili broj stavke u tablici Proizvodi, odgovarajuće promjene se vrše u tablici Narudžbe.

Bilješka

Imajte na umu da smo tablicu Narudžbe kreirali posljednju jer primarni ključevi u tablicama Kupci i Proizvodi moraju biti kreirani prije stranih ključeva u tablici Narudžbe koji ih upućuju. Međutim, bilo bi moguće kreirati tablice bez stranih ključeva bilo kojim redoslijedom, a zatim dodati strane ključeve pomoću naredbe ALTER TABLE, što ćemo pogledati u pododjeljku “Promjena strukture tablice”.

U našim smo primjerima pogledali samo neke od parametara naredbe za izradu tablice. Sada ćemo navesti sve glavne parametre koji vam mogu biti korisni prilikom izrade tablica. U odjeljku “Vrste podataka u MySQL-u” govorit ćemo o vrstama stupaca, u odjeljku “Svojstva stupaca” govorit ćemo o postavljanju ključnih stupaca i na kraju u odjeljku “Ključni stupci i indeksi” govorit ćemo o izbornim svojstvima tablice .

Tipovi podataka u MySQL-u

Kao što već znate, kada stvarate tablicu, morate navesti vrstu podataka za svaki stupac. MySQL nudi mnoge tipove podataka za pohranjivanje brojeva, datuma/vremena i nizova znakova (tekstova). Osim toga, postoje tipovi podataka za pohranjivanje prostornih objekata, o kojima u ovoj knjizi neće biti riječi.

Pogledajmo tipove numeričkih podataka.

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

Broj bita koji sadrži određeni broj bitova. Ako broj bitova nije naveden, broj se sastoji od jednog bita.

Cijeli broj u rasponu od -128 do 127 ili (ako je navedeno svojstvo UNSIGNED) od 0 do 255.

BOOL ili BOOLEAN.

Oni su sinonimi za tip podataka TINYINT(1) (broj u zagradama je broj znamenki za prikaz, vidi napomenu u nastavku). U ovom slučaju, vrijednost različita od nule smatra se istinitom (TRUE), a vrijednost nula smatra se lažnom (FALSE).

Cijeli broj u rasponu od -32,768 do 32,767 ili (ako je navedeno svojstvo UNSIGNED) od 0 do 65,535.

Cijeli broj u rasponu od -8,388,608 do 8,388,607 ili (ako je navedeno svojstvo UNSIGNED) od 0 do 16,777,215.

INT ili INTEGER.

Cijeli broj u rasponu od -2,147,483,648 do 2,147,483,647 ili (ako je navedeno svojstvo UNSIGNED) od 0 do 4,294,967,295.

Cijeli broj u rasponu od -9,223,372,036,854,775,808 do 9,223,372,036,854,775,807 ili (ako je navedeno svojstvo UNSIGNED) od 0 do 18,446,744,073 70 9,551,615.

Sinonim za BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE (veliki cijeli broj bez predznaka koji prihvaća automatski povećane jedinstvene vrijednosti; NULL vrijednosti nisu dopuštene). Koristi se za automatsko generiranje jedinstvenih vrijednosti u stupcu primarnog ključa. Naći ćete opis svojstava UNSIGNED i AUTO_INCREMENT u ovom pododjeljku, a svojstava NOT NULL i UNIQUE u odjeljku “Svojstva stupca”.

Bilješka

Za sve tipove cjelobrojnih podataka, osim BOOL (BOOLEAN) i SERIAL, u zagradama možete navesti broj prikazanih znamenki, koji se koristi zajedno s parametrom ZEROFILL: ako broj sadrži manje znamenki, tada se pri izlazu dopunjuje na lijevo s nulama. Na primjer, ako je stupac tablice definiran kao INT(5) ZEROFILL, tada se vrijednosti "1234567" i "12345" prikazuju kakve jesu, a vrijednost "123" prikazuje se kao "00123". Za tip podataka BIT u zagradama je navedena veličina broja, odnosno najveći broj pohranjenih bitova.

Dolje je popis najkorisnijih i najčešće korištenih naredbi MySQL s primjerima.

mysql na početku retka znači da se naredba izvršava nakon prijave MySQL.

Simbol # ili $ na početku retka znači da se naredba izvršava iz naredbenog retka.

Za provjeru statusa poslužitelja MYSQLčini:

Za FreeBSD:

# service mysql-status poslužitelja

V CentOS/RHEL:

# service mysqld status

MySQL s konzole ako je poslužitelj MySQL je na istom hostu:

Za spajanje na poslužitelj MySQL s konzole ako je poslužitelj MySQL nalazi se na udaljenom hostu db1.example.com:

$ mysql -u korisničko ime -p -h db1.example.com

Rad s bazama podataka i tablicama - pregled, brisanje, uređivanje zapisa. Konzola

Stvorite bazu podataka na MySQL poslužitelj:

Mysql kreira bazu podataka

Prikaži popis svih baza podataka na poslužitelju MySQL:

korištenje mysql-a;

Prikaži sve tablice u bazi podataka:

Mysql prikazuje tablice;

Pogledajte format tablice u bazi podataka:

mysql opisati;

Brisanje baze podataka:

Mysql drop baza podataka;

Brisanje tablice iz baze podataka:

Mysql drop table ;

Prikaži sav sadržaj tablice:

Mysql SELECT * FROM ;

Prikaz stupaca i sadržaja stupaca u odabranoj tablici:

Mysql prikazuje stupce iz ;

Prikaži retke u određenoj tablici koji sadrže " bilo što ":

Mysql SELECT * FROM WHERE = "što god";

Prikaži sve zapise u određenoj tablici koja sadrži "Bob" i telefonski broj "3444444:

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

Prikaži sve unose, NE koji sadrži ime "Bob" i telefonski broj "3444444", poredano po polju phone_number:

Mysql SELECT * FROM WHERE name != " Bob " AND phone_number = " 3444444 " order by phone_number;

Prikaži sve unose koji počinju slovima "bob" i brojem telefona "3444444" u određenoj tablici:

Mysql SELECT * FROM WHERE ime poput "Bob %" AND phone_number = "3444444";

Prikaži sve unose koji počinju slovima "bob" i telefonskim brojem "3444444", ograničavajući unose od 1 do 5:

Mysql SELECT * FROM WHERE ime poput "Bob %" AND phone_number = "3444444" limit 1.5;

Korištenje regularnih izraza ("REGEXP BINARY") za traženje zapisa. Na primjer, za pretraživanje koje ne razlikuje velika i mala slova, pronađite sve zapise koji počinju slovom A:

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

Prikaži sve jedinstvene unose:

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

Pokažite broj redaka u tablici:

Mysql SELECT COUNT(*) FROM ;

Mysql SELECT SUM(*) FROM ;

Uklanjanje stupca:

Mysql mijenja stupac ispuštanja tablice;

Dodavanje stupca u bazu podataka:

Mysql alter tablica dodaj stupac varchar(20);

Promjena naziva stupca:

Mysql alter promjena tablice varchar(50);

Napravite stupac s jedinstvenim nazivom kako biste izbjegli dvostruka imena:

Mysql alter table add unique();

Promjena veličine stupca:

Mysql mijenja tablicu mijenja VARCHAR(3);

Uklanjanje stupca iz tablice:

Mysql mijenja indeks pada tablice;

Mysql UČITAJ PODATKE INFILE " /tmp/imedatoteke.csv " zamijeni U POLJA TABLICE KOJA ZAVRŠAVAJU "," REDOVI KOJI ZAVRŠAVAJU "n" (polje1,polje2,polje3);

Korisnici MySQL poslužitelja, lozinke - dodavanje, promjena korisnika i lozinki. Konzola

Stvaranje novog korisnika - spajanje na poslužitelj MySQL kao root, prijeđi na bazu podataka, dodaj korisnika, ažuriraj privilegije:

# mysql -u root -p mysql koristi mysql; mysql INSERT INTO korisnik (Host,User,Password) VALUES("%"," korisničko ime ", PASSWORD(" lozinka ")); mysql povlastice ispiranja;

Promjena korisničke lozinke s konzole na udaljenom hostu db1.example.org:

# mysqladmin -u korisničko ime -h db1.example.org -p lozinka " nova-lozinka "

Promjena korisničke lozinke iz konzole MySQL- spojite se kao root, ažurirajte lozinku, ažurirajte privilegije:

# mysql -u root -p mysql POSTAVITE LOZINKU ZA " korisnika "@" ime hosta " = LOZINKA(" lozinkaovdje "); mysql povlastice ispiranja;

Oporavak/promjena lozinke korijenskog poslužitelja MySQL- stani MySQL, pokrenite bez tablica privilegija, povežite se kao root, postavite novu lozinku, izađite i ponovno pokrenite MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; mysql update user set password=PASSWORD(" newrootpassword ") where User="root"; mysql; povlastice ispiranja; mysql zatvori # /etc/init.d/mysql stop # /etc/init.d/mysql start

Postavite root lozinku ako postoji on root lozinka.

# mysqladmin -u root lozinka nova lozinka

Ažurirajte root lozinku:

# mysqladmin -u root -p stara lozinka nova lozinka

Postavljanje prava za spajanje na poslužitelj s hosta localhost s lozinkom "passwd" - povezivanje s podosnovom, prebacivanje na bazu podataka, postavljanje privilegija, ažuriranje privilegija:

# mysql -u root -p mysql koristi mysql; mysql dodijeli korištenje na *.* za bob @localhost identificiran s " passwd "; mysql povlastice ispiranja;

Postavljanje korisničkih privilegija za korištenje baze podataka - povezivanje kao root, prebacivanje na bazu podataka, postavljanje privilegija, ažuriranje privilegija:

# mysql -u root -p mysql koristi 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 povlastice ispiranja;

Mysql dodjeljuje sve privilegije na databasename .* korisničkom imenu @localhost; mysql povlastice ispiranja;

Ažuriranje podataka u bazi podataka:

Mysql UPDATE SET Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" where = user";

Brisanje retka u tablici:

Mysql DELETE from where = "što god";

Ažuriranje privilegija u bazi podataka:

Mysql povlastice ispiranja;

Sigurnosne kopije - stvaranje, vraćanje baza podataka. Konzola

Napravite sigurnosnu kopiju (dump) svih baza podataka u datoteku alldatabases.sql:

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

Sigurnosno kopirajte jednu bazu podataka u datoteku databasename.sql:

# mysql dump -u korisničko ime -p lozinka -baze podataka naziv baze podataka ; /tmp/imebaze podataka.sql

Izradite sigurnosnu kopiju jedne tablice u datoteku nazivbaze.imetablice.sql:

# mysql dump -c -u korisničko ime -p lozinka naziv baze podataka naziv tablice ; /tmp/imebaze podataka.imetablice.sql

Vraćanje baze podataka (ili tablice) iz sigurnosne kopije:

# mysql -u korisničko ime -p lozinka ime baze podataka< /tmp/databasename.sql

Izrada tablica baze podataka. Konzola

nazivi stupaca navedeni su malim slovima;
VELIKA slova - vrste i atributi stupaca;
u (zagradama) - vrijednost tipa stupca.

Napravite tablicu, primjer 1:

mysql CREATE TABLE (ime VARCHAR(20), srednje početno slovo VARCHAR(3), prezime VARCHAR(35), sufiks VARCHAR(3), officeid VARCHAR(10), ID korisnika VARCHAR(15), korisničko ime VARCHAR(8), e-pošta VARCHAR(35) ), telefon VARCHAR(25), grupe VARCHAR(15), datumska oznaka DATUM, vremenska oznaka VRIJEME, pgpemail VARCHAR(255));

Napravite tablicu, primjer 2:

Mysql kreira tablicu (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, ime VARCHAR(35), srednje ime VARCHAR(50), prezime VARCHAR(50) zadano "bato");

Od autora: curo, tvoj auto neće upaliti? Možda da probamo “iz guralice”? Ja ću pomoći! Ne znaš kako je? Jeste li samo pokrenuli DBMS poslužitelj preko cmd-a? To znači da znate pokrenuti MySQL preko naredbenog retka, ali ne znate ni kako pokrenuti auto. Mademoiselle, vi ste "čudna" plavuša!

Čudnosti u MySQL opisu

Kada pripremam svaki članak, moram "temeljito" pretražiti Internet u potrazi za referentnim materijalima o jednoj ili drugoj disciplini "izgradnje stranica". Uglavnom postoji mnogo detaljnih vodiča i tutorijala objavljenih na Internetu, ali ne i za MySQL.

Naravno, postoje vrijedni edukativni, ali glavni dio o DBMS-u daje samo primjere pisanja naredbi, pa čak i bez naznake sintakse. U takvoj situaciji gotovo je nemoguće bilo kakvim "lutkanima" razumjeti, na primjer, kako se spojiti na MySQL putem naredbenog retka.

Da biste pronašli odgovor za početnika, morat ćete pretražiti desetak tematskih foruma, gdje će se profesionalni programeri (predstavljajući se gotovo kao "akademici") spustiti početniku objasniti barem nešto normalno.

Vrijedno je shvatiti da bi pravi administrator trebao znati sve načine pokretanja i rada s poslužiteljem baze podataka. Jasno je da su softverske ljuske najprikladnija metoda, ali možda nisu uvijek pri ruci. Stoga će znanje o tome kako omogućiti MySQL putem naredbenog retka više puta spasiti podatke o web-mjestu i vašu reputaciju stručnjaka (ako se planirate profesionalno baviti web razvojem).

Pogledajmo ovu temu detaljnije. I molim vas, nemojte praviti grimase ako vam se išta što je rečeno u ovom materijalu čini tako jednostavnim kao pokretanje automobila "s poluge".

Pokreni cmd

Da biste pokrenuli MySQL iz naredbenog retka, prvo aktivirajte sam uslužni program (cmd), koji je uključen u standardni Windows set. To možete učiniti na nekoliko načina:

Tipkovnički prečac Win + R, a zatim u dijaloški okvir "Pokreni" koji se pojavi unesite cmd

Kroz ploču Start.

Osim toga, MySQL može doći s izvornom ljuskom. Na primjer, ako instalirate poslužitelj baze podataka na lokalni stroj kao samostalnu "aplikaciju" koja nije uključena u "gospodski" paket.

Izvorni MySQL naredbeni redak pokreće se baš kao i obični cmd. Razlike u radu oba pomoćna programa pojavit će se kasnije. O tome ćemo govoriti u sljedećem odjeljku.

Rad s naredbenim retkom

Prvo, pozabavimo se uslužnim programom ugrađenim u operativni sustav. Pogledajmo kako pokrenuti MySQL iz Windows naredbenog retka. Da biste to učinili potrebno vam je:

Put do mape u datotečnom sustavu računala gdje ste instalirali poslužitelj baze podataka.

Korisnički račun – prijava i lozinka.

Ako radite s Denverom, tada se izvršna datoteka nalazi na virtualnom disku koji se stvara nakon pokretanja lokalnog poslužitelja, duž ove staze: Z:\usr\local\mysql-5.5\bin

Kao što sam već rekao, MySQL naredbena linija u Denweru se pokreće preko cmd OC. To jest, prvo ga pokrećemo, a zatim navodimo put do izvršne datoteke DBMS-a. Lozinka i prijava za pristup mogu se odrediti prvo ili kasnije nakon aktivacije uslužnog programa MySQL. Što se mene tiče, zgodnije je registrirati sve odjednom: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Prijavili smo se na DBMS poslužitelj s administratorskim pravima. Nemam postavljenu lozinku za root, tako da njezina vrijednost nije navedena. Nakon što smo pokrenuli MySQL iz naredbenog retka, ispod će se pojaviti informacije pomoći o verziji uslužnog programa, poslužitelju i ID-u veze.

Sada provjerimo ispravnost postupka i “snagu” naših prava. Na primjer, prikažimo popis svih tablica koje se trenutno koriste na poslužitelju:

PRIKAŽI OTVORENE STOLOVE;

PRIKAŽI OTVORENE STOLOVE ;

MySQL nam je u Windows naredbenom retku dao samo tablice koje su dio baze podataka sustava. To je zato što se svi podaci pohranjeni u njemu koriste u pokrenutoj instanci DBMS-a. Na taj način smo znali da poslužitelj radi i da smo prijavljeni s administratorskim pravima, kao što je i planirano.

Shema za rad s ljuskom instaliranom zajedno sa sustavom za upravljanje bazom podataka malo je drugačija. Kako bismo sve to sami “iskusili”, aktivirajmo MySQL putem ove naredbene linije.

Nakon pokretanja pojavljuje se prozor u koji morate odmah unijeti lozinku. Inače, cijeli proces interakcije s uslužnim programom je isti.

Rad s drugim aplikacijama

Sastav standardnog skupa DBMS alata nije ograničen na jednu izvršnu datoteku poslužitelja. Njihov asortiman može se vidjeti gledanjem u istoj mapi u kojoj se nalazi poslužitelj baze podataka. Na primjer, pokrenimo uslužni program MySQL dump putem naredbenog retka.

Prvo idite na virtualni disk, a zatim upotrijebite naredbu cd do mape u kojoj je pohranjen uslužni program. Podsjećam da je namijenjen za izradu sigurnosnih kopija baza podataka.

U sljedećem koraku, prije prijave u MySQL preko naredbenog retka, morat ćemo navesti račun i lozinku za isti. Primjer korištenja naredbe mysqldump:

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

Da bi naredba radila ispravno, navedeni direktorij mora biti kreiran u trenutku izvođenja. Inače će uslužni program vratiti poruku da takva staza ne postoji.

Također je vrijedno napomenuti da navedeni MySQL korisnik u naredbenom retku mora imati prava za izmjenu baze podataka ili administratorski račun.

Ostali uslužni programi uključeni u standardni set pokreću se na sličan način. Uz njihovu pomoć možete obavljati sve osnovne administrativne operacije DBMS-a: upravljati ulogama, stvarati sigurnosne kopije, uređivati ​​sadržaj skladišta. Također instalirajte MySQL uslugu iz naredbenog retka. Općenito, sve ono bez čega se poslužitelj baze podataka neće pokrenuti "iz gurača".

Za Win 32 odaberite distribuciju: Windows (x86, 32-bit), Zip-Arhiva.

Za Win 64: Windows (x86, 64-bitni), Zip-Arhiva.

Nakon što kliknete na gumb Download vidjet ćete obrazac za registraciju, možete ga preskočiti klikom na poveznicu ispod - Ne hvala, samo me odvedi na preuzimanja.

2. Stvorite instalacijsku mapu. Na primjer . I raspakirajte sadržaj arhive u nju tako da mape bin, podaci, dokumenti i drugi bili u korijenu instalacijske mape.

3. Prijeđimo na izradu konfiguracijske datoteke (my.ini). Kao osnovu uzimamo jednu od standardnih datoteka:

  • my-small.ini - pogodan za one koji koriste MySQL s vremena na vrijeme i ne žele da poslužitelj zauzima puno resursa.
  • my-medium.ini je također konfiguracija s malo resursa, ali je prikladna za one koji kontinuirano koriste MySQL (dobar izbor za kućni web poslužitelj).
  • my-large.ini i my-huge.ini - za sustave koji se koriste kao namjenski MySQL poslužitelj. Međutim, my-large.ini se može koristiti za kućni poslužitelj ako vam je potrebna dodatna MySQL izvedba (512 MB RAM-a nije toliko u današnje vrijeme).
  • my-innodb-heavy-4G - za namjenske poslužitelje s najmanje 4 GB RAM-a i korištenjem samo InnoDB tablica.

U ovom primjeru odabrao sam my-medium.ini kao osnovu. Preimenujte ga u my.ini i smjestite u korijen instalacijske mape ( C:\Program Files\MySQL\MySQL Server 5.5).

Otvorite za uređivanje (u običnom Notepadu) i odmah nakon retka dodajte dva parametra:

Basedir=C:/Programske datoteke/MySQL/MySQL Server 5.5 datadir=C:/Programske datoteke/MySQL/MySQL Server 5.5/podaci

Imajte na umu da putanje koriste kose crte naprijed (/) umjesto obrnute kose crte (\).

basedir je put do instalacijske mape.

datadir - put do mape podataka (gdje su pohranjene sve baze podataka). Ponekad ima smisla staviti podatke na zaseban disk kako bi se poboljšala izvedba ili osigurala pouzdanost.

Za svaki slučaj, evo fragmenta konfiguracijske datoteke nakon unošenja promjena:

# MySQL poslužitelj 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 = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M

4. Sljedeći korak je dodavanje staze C:\Program Files\MySQL\MySQL Server 5.5\bin na varijablu okruženja PATH kako biste lakše pokrenuli MySQL iz naredbenog retka. Da biste to učinili, otvorite Svojstva sustava -> Dodatne postavke sustava -> na kartici Napredno, na samom dnu, gumb "Varijable okruženja...". U prozoru koji se otvori pomičite se kroz sistemske varijable dok ne pronađemo Put. Odaberite ovaj redak i kliknite "Promijeni...". Na kraju retka dodajemo naš put, zadržavajući postojeće parametre:

Imajte na umu da su staze odvojene točkom i zarezom. Provjerite postoji li točka-zarez na početku i kraju vašeg puta.

5. Prije probnog rada otvorite dolazni TCP port 3306 u Windows vatrozidu:

Ako na vašem sustavu imate instaliran dodatni vatrozid, morate također otvoriti TCP port 3306 za dolazne veze.

6. Sada provodimo probni rad. U naredbenom retku pokrenutom kao administrator (ovo je potrebno ako je UAC omogućen na Seven ili Visti), pokrenite:

Mysqld --konzola

Na ekranu će se prikazati nekoliko redaka. Ako je lansiranje bilo uspješno, posljednji red će izgledati otprilike ovako:

Verzija: "5.5.9-log" utičnica: "" port: 3306 MySQL Community Server (GPL)

Ostavite ovaj prozor otvorenim i otvorite drugi prozor naredbenog retka u koji unosimo:

Mysql -u root

Ako je veza bila uspješna, vidjet ćete naredbeni redak: mysql>

Pogledajmo koje baze podataka imamo:

Prikaži baze podataka;

Točka i zarez na kraju SQL upita je OBAVEZNO!

Odgovor tima:

Sada smo se konačno uvjerili da server radi.

7. Prijeđimo na sljedeći korak - potrebno je postaviti MySQL administratorsku lozinku (root user). Zadana lozinka nije postavljena i to treba popraviti. U istom MySQL prozoru unesite sljedeće naredbe:

Koristite mysql UPDATE korisnik SET lozinka = PASSWORD("vaša_lozinka") WHERE korisnik = "root";

Provjerimo rezultat:

SELECT korisnik, host, lozinka FROM korisnika;

Kao što možete vidjeti na snimci zaslona, ​​stupac lozinke je ispunjen, što znači da je lozinka postavljena.

Prije izlaska pokrenite naredbu:

PRIVILEGIJE ISPIRANJA;

Sada, kada se povezujete, morate unijeti lozinku. Da biste to učinili, upotrijebite prekidač -p:

Mysql -u root -p

Za isključivanje pokretanja MySQL-a:

Mysqladmin -u root -p isključivanje

8. Posljednji korak je pokretanje MySQL-a kao usluge Windows sustava.

Provjerite nema aktivnih MySQL procesa na sustavu.

U naredbenom retku koji radi kao administrator, pokrenite:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install

Put do mysqld mora biti naveden u cijelosti (čak i ako je naveden u PATH)!

Za pokretanje usluge otvorite “Upravljanje računalom” i ručno pokrenite MySQL uslugu:

Ili jednostavnije putem naredbenog retka:

Mrežno pokrenite mysql

Da biste uklonili uslugu, prvo je zaustavite:

Net stop mysql

i izvršiti:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --ukloni

Od autora: Opet ste se izgubili i ne znate kako se prijaviti na MySQL? nisi prvi! Okupite sve one koji su izgubljeni, a sada idemo ravno k njoj. Kome “joj”? U najpopularniji DBMS na World Wide Webu!

Gdje se MySQL nalazi u Denveru?

Ne misli se na glavni grad države Colorado u SAD-u, već na programski paket za izradu i testiranje aplikacija u PHP-u. Komplet za “gospoda” uključuje lokalni Apache poslužitelj, MySQL poslužitelj i phpMyAdmin shell. Uz pomoć ovog softverskog paketa "novorođenci" najčešće uče sve zamršenosti rada s ovim sustavom za upravljanje bazom podataka.

Prije nego što se prijavite u MySQL putem preglednika, trebate pokrenuti lokalni poslužitelj, zatim upisati localhost u adresnu traku i u prozoru koji se pojavi, "Ura, radi!" U odjeljku pomoćnih programa odaberite phpMyAdmin.

Nakon čega ćete se naći tamo (u phpMyAdmin).

Do baza podataka idemo kroz “labirint”

Ti i ja ćemo otići u "gustu" šumu i pokušati se "probiti" do poslužitelja baze podataka. Nemojte misliti da se od nekoga skrivamo, samo sada ćemo se ponašati kao... Ići!

Prije nego što se prijavite u MySQL putem naredbenog retka, trebali biste saznati gdje se nalazi glavni direktorij poslužitelja baze podataka. Ako koristite DBMS u njegovom "čistom" obliku bez "nečistoća" (izvan "džentlmenskog" seta), tada se korijenska mapa poslužitelja nalazi ovdje: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

Ako koristite Denver, tada se datoteka koju tražite nalazi na ovoj stazi: Z:\usr\local\mysql-5.5\bin\mysql.exe,

gdje je Z virtualni disk koji se kreira nakon pokretanja lokalnog web poslužitelja. Možda ga imate pod drugim imenom (točnije slovom).

Zanima nas datoteka mysql.exe. Pokrenimo ga tako da navedemo naziv poslužitelja baze podataka, lozinku i korisnika pod kojim ćemo se ulogirati u MySQL.

Kako omogućiti MySQL putem naredbenog retka: idite na "Start", odaberite "Command Prompt" iz standardnih programa. Pokrećemo uslužni program i od sada ćemo opisivati ​​cijelu proceduru "hodanja" u gustoj šumi korak po korak, tako da se cijela skupina "izgubljenih" ljudi ponovno ne izgubi. Počnimo:

U crnom prozoru CMD (command line) unesite stazu na kojoj je pohranjena MySQL izvršna datoteka, a pored nje navedite korisničko ime i lozinku za DBMS. Budući da imamo lokalni poslužitelj, nakon identifikatora u upisujemo korisničko ime root bez lozinke.

Ovo zapravo nije točno i svaki korisnik MySQL poslužitelja mora imati postavljenu lozinku. Sva sigurnosna pitanja DBMS-a ćemo detaljnije razmotriti u jednoj od naših sljedećih publikacija.

Ovdje je cijeli dio “koda”: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Ako je sve prošlo dobro, informacije o verziji pokrenute usluge, godini izdanja i drugim "nepotrebnim" informacijama za nas trebale bi se pojaviti ispod u prozoru naredbenog retka.

Sada ćemo za provjeru ispravnosti veze nakon operatora mysql> unijeti upit koji će prikazati sve baze podataka pohranjene na poslužitelju. Šifra zahtjeva:

prikazati baze podataka;

Ne zaboravite staviti točku i zarez na kraju zahtjeva, inače će sustav prikazati poruku o pogrešci. Nakon unosa upita i pritiska na tipku “Enter” dobili smo popis svih baza podataka pohranjenih na DBMS poslužitelju:

Ali ovo nam nije dovoljno. Zaronimo još dublje u strukturu. Pogledajmo kako se prijaviti u MySQL bazu podataka i dobiti popis svih njezinih tablica. Da vas podsjetim da smo sada već autorizirani na serveru, tako da trebamo unijeti samo još jedan zahtjev:

prikaži tablice iz db1;

prikaži tablice iz db1;

db1 je naziv baze podataka koja nam je potrebna.

Na snimci zaslona vidimo da tražena baza podataka sadrži samo jednu tablicu.

Kopajmo dublje!

Kako kažu, "apetit" dolazi nakon primanja rezultata izvršenja koda. Stoga ćemo pokušati kopati još dublje kako bismo došli do podataka koji su pohranjeni u tablici. Prije ponovne prijave u MySQL, evo primjera SQL upita s kojim možemo ostvariti svoje planove:

SELECT * FROM animal;

SELECT * FROM animal ;

Unesemo zahtjev, pokrenemo ga na izvršenje i... Iz nekog razloga poslužitelj nam je dao pogrešku.

I sve to zato što smo zaboravili reći MySQL-u koja nas baza zanima. Dakle, poslužitelj se "kune" da nijedna baza podataka nije dodijeljena. Ovo još jednom dokazuje da se rad sa DBMS-om putem naredbenog retka jako razlikuje od interakcije s njim kroz softversku ljusku.

U phpMySQL-u ovaj bi se upit uspješno izvršio i poslužitelj bi vratio odabir svih redaka sadržanih u traženoj tablici.

Ispravimo naš uobičajeni propust (uvijek je teško priznati krivnju), a prije ponovnog logiranja u MySQL preko konzole pripremit ćemo “specifičan” upit kojim ćemo sustav usmjeriti na željenu bazu podataka:

KORISTI db1 ;

Nakon što unesete ovaj redak i izvršite ga, poslužitelj će prikazati poruku koja potvrđuje da je željena baza podataka dodijeljena.

A sada unesimo i pokrenimo upit za ponovno dohvaćanje svih podataka iz tablice životinja. “Neka budu podaci!” - rekao je administrator i pokrenuo SELECT. Došli smo do dna db1 i dobili sadržaj tablice sa životinjama. Nije uzalud da smo prije ulaska u MySQL bazu izveli cijeli "ritual" i napisali ispravnu "čaroliju" u SQL-u.

Što još možete iskopati?

Kopali smo duboko do samog dna MySQL-a. Sada kopajmo malo u stranu. Koje se druge informacije mogu dobiti putem naredbenog retka postavljanjem upita MySQL-u? Želite li znati strukturu tablice, tipove podataka svih stupaca, primarni ključ? Molim! Pokrenite ovaj upit:

opisati životinju;

opisati životinju;

Ponekad, da biste znali kako omogućiti MySQL poslužitelj, morate dobiti popis svih registriranih korisnika DBMS-a. Za to se koristi sljedeći upit.