Darbs ar MySQL no komandrindas. Automātiska MySQL instalēšana operētājsistēmā Windows Palaidiet mysql no linux komandrindas

MySQL servera palaišana un apturēšana no komandrindas

Varat manuāli startēt MySQL serveri vienā no diviem veidiem:

Veiciet dubultklikšķi uz faila mysqld-nt.exe, kas atrodas tā direktorija apakšdirektorijā, kurā ir instalēts MySQL.

Atveriet Windows komandu uzvednes logu. Lai to izdarītu, noklikšķiniet uz pogas Sākt, izvēlnē atlasiet Palaist, parādītajā logā Palaist programmu laukā Atvērt ievadiet komandu cmd un noklikšķiniet uz Labi. Ekrānā parādīsies komandrindas logs (1.25. att.).

Rīsi. 1.25. Komandu uzvednes logs


Komandu uzvednē ievadiet komandu

mysqld-nt

un nospiediet taustiņu Enter. Tiks startēts MySQL serveris.

Ja, uzstādot serveri, sistēmas mainīgā Path vērtībai netika pievienots ceļš uz apakšdirektoriju bin, tad, lai startētu serveri, jāievada ne tikai faila nosaukums, bet arī pilns ceļš uz to, piemēram, :

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

Ja vēlaties skatīt diagnostikas ziņojumus par serveri komandrindas logā, nevis mysqld-nt, ievadiet

mysqld-nt – konsole

Uzmanību!

Ja, iestatot MySQL serveri, nenorādījāt root lietotāja paroli, parole ir jāiestata, pirmo reizi startējot serveri (pretējā gadījumā ikviens var pārvaldīt serveri kā root bez paroles).

Lai iestatītu saknes paroli, atveriet jaunu komandu uzvednes logu un ievadiet šādu komandu:

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

(vai C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u saknes parole<пароль>, ja ceļš uz bin apakšdirektoriju netika pievienots sistēmas mainīgajam Path, uzstādot serveri) un nospiediet taustiņu Enter.

Nākotnē, ja jums būs jāmaina root lietotāja parole, palaidiet to pašu komandu, tikai izmantojot opciju -p:

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

Kad tiek parādīta uzvedne Ievadiet paroli, ievadiet savu veco paroli un nospiediet taustiņu Enter.

Visbeidzot, ja jums ir jāaptur MySQL serveris, palaidiet komandu

mysqladmin -u root -p izslēgšana

un uzvednē Ievadiet paroli ievadiet root lietotāja paroli. Nospiediet Enter. MySQL serveris tiks apturēts.

Varat arī izmantot grafisko MySQL administratora utilītu, lai palaistu un apturētu MySQL serveri.

MySQL servera palaišana un apturēšana, izmantojot MySQL administratoru

Lai palaistu MySQL serveri, izmantojot grafisko MySQL administratora utilītu, veiciet šīs darbības.

1. Palaidiet programmu MySQL Administrator (Start → All Programs → MySQL → MySQL Administrator). Ekrānā parādīsies servera savienojuma logs (1.26. att.).

Rīsi. 1.26.


2. Nospiediet un turiet taustiņu Ctrl un noklikšķiniet uz pogas Izlaist, kas tiek parādīta loga apakšējā labajā stūrī, nevis pogas Atcelt. Ekrānā parādīsies galvenais MySQL administratora logs (1.27. att.).

Rīsi. 1.27. MySQL administratora galvenais logs


4. Ja MySQL serveris nav konfigurēts kā Windows pakalpojums, poga Sākt pakalpojumu, kas atrodas loga labajā rūtī, ir pelēkota. Ir jāveic šādas sākotnējās darbības:

1) Dodieties uz cilni Konfigurēt pakalpojumu. Cilnes apakšā atrodiet pogu Instalēt jaunu pakalpojumu un noklikšķiniet uz tās;

2) parādītajā dialoglodziņā norādiet pakalpojuma nosaukumu un noklikšķiniet uz Labi;

3) laukā Config Filename ievadiet ceļu uz my.ini konfigurācijas failu (1.28. att.), piemēram, C:\Program Files\MySQL\MySQL Server 5.0\my.ini. Sarkanā fonta krāsa nozīmē, ka fails netika atrasts; ja krāsa mainās uz normālu, tad ceļš ir pareizs;

4) laukā Path to binary ievadiet ceļu uz failu mysqld-nt.exe, piemēram, C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt;

6) atgriezieties cilnē Start/Stop Service.

Rīsi. 1.28. Konfigurēt pakalpojumu cilni 5. Noklikšķiniet uz pogas Sākt pakalpojumu. Tiks startēts MySQL serveris.


Uzmanību!

Ja, iestatot MySQL serveri, nenorādījāt root lietotāja paroli, tā jāiestata, pirmo reizi startējot serveri (pretējā gadījumā ikviens var pārvaldīt serveri kā root bez paroles). Pašreizējā MySQL Administrator versijā root paroles iestatīšana nav pieejama, un šīs darbības veikšanai jāizmanto komandrindas utilīta mysqladmin (skatiet apakšsadaļu “MySQL servera palaišana un apturēšana no komandrindas”).

Lai apturētu MySQL serveri, izmantojot MySQL administratoru, veiciet šīs darbības.

1. Palaidiet programmu MySQL Administrator (Start → All Programs → MySQL → MySQL Administrator). Ekrānā parādīsies servera savienojuma logs (skat. 1.26. attēlu).

Server Host – vērtība localhost (lokālais dators);

Ports – porta numurs, kas izvēlēts, uzstādot serveri (noklusējums – 3306);

Usename – saknes vērtība;

Parole – root lietotāja parole. Noklikšķiniet uz Labi.

3. Galvenā MySQL administratora loga kreisajā rūtī noklikšķiniet uz Service Control.

4. Loga labajā rūtī noklikšķiniet uz pogas Stop Service. MySQL serveris tiks apturēts.

Nākamajā apakšsadaļā jūs uzzināsit, kā palaist MySQL serveri, izmantojot Windows administratīvos rīkus.

MySQL servera palaišana un apturēšana no vadības paneļa

Ja MySQL serveris tika konfigurēts kā Windows pakalpojums, izmantojot iestatīšanas vedni (skatiet apakšsadaļu “MySQL servera konfigurēšana”) vai izmantojot MySQL administratora utilītu (skatiet apakšsadaļu “MySQL servera palaišana un apturēšana, izmantojot MySQL administratoru”), tad startējiet un apturiet Jūs varat izmantot vadības paneļa pakalpojumu komponentu.

Lai piekļūtu komponentam Pakalpojumi, noklikšķiniet uz pogas Sākt, izvēlnē atlasiet Vadības panelis, pēc tam veiciet dubultklikšķi uz Administratīvie rīki vadības panelī un, visbeidzot, veiciet dubultklikšķi uz Pakalpojumi logā Administratīvie rīki. Ekrānā parādīsies pakalpojumu logs (1.29. att.) ar visu vietējo pakalpojumu sarakstu.

Rīsi. 1.29. MySQL pakalpojums vadības panelī


Pakalpojumu logā noklikšķiniet uz MySQL pakalpojuma nosaukuma (nosaukums tiek noteikts, veidojot pakalpojumu konfigurācijas vednī vai MySQL administratorā). Pēc tam noklikšķiniet uz vajadzīgās saites zem pakalpojuma nosaukuma: Start Service, Stop Service vai Restart Service.

Kad MySQL serveris darbojas, varat izveidot savienojumu ar to. Nākamajās apakšsadaļās jūs uzzināsit, kā to izdarīt.

Savienojuma izveide ar serveri no komandrindas

Lai izveidotu savienojumu ar MySQL serveri no komandrindas, veiciet šīs darbības.

1. Atveriet Windows komandu uzvednes logu. Lai to izdarītu, noklikšķiniet uz pogas Sākt, izvēlnē atlasiet Palaist, parādītajā logā Palaist programmu laukā Atvērt ievadiet cmd un noklikšķiniet uz Labi.

2. Komandrindā (sk. 1.25. attēlu) ievadiet komandu

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

(Kur<Имя компьютера>ir tā datora nosaukums, kurā darbojas serveris) un nospiediet taustiņu Enter. Kad tiek prasīts ievadīt paroli, ievadiet lietotāja paroli.

Ja nepieciešams izveidot savienojumu ar MySQL serveri, kas darbojas tajā pašā datorā, datora nosaukumu (localhost) var izlaist, piemēram,

mysql -u sakne -p

Pēc savienojuma izveides ar serveri komandrindas uzvedne mainīsies uz mysql> (1.30. attēls). Tagad varat sākt strādāt ar datu bāzi: pievienot tabulas, ievadīt un vaicāt datus, reģistrēt jaunus lietotājus utt.

Rīsi. 1.30. Savienojuma izveide ar MySQL serveri no komandrindas


Lai atvienotos no servera, vienkārši ierakstiet komandu komandrindā

un nospiediet taustiņu Enter.

Alternatīvu veidu, kā izveidot savienojumu ar MySQL serveri, nodrošina grafiskā MySQL Query Browser utilīta.

Savienojuma izveide ar serveri, izmantojot MySQL Query Browser

MySQL Query Browser utilīta ir saskarne SQL priekšrakstu izveidei, rediģēšanai un izpildei. Tas ir ērtāk nekā komandrinda. Ja nolemjat izmantot MySQL vaicājumu pārlūkprogrammu, lai strādātu ar datu bāzi, veiciet šīs darbības, lai izveidotu savienojumu ar serveri.

1. Palaidiet programmu MySQL Query Browser (Sākt → Visas programmas → MySQL → MySQL Query Browser). Ekrānā parādīsies servera savienojuma logs (1.31. att.).

Rīsi. 1.31. MySQL servera savienojuma logs


2. Servera savienojuma loga laukos ievadiet savienojuma parametrus:

Server Host – tā datora nosaukums, kurā darbojas MySQL serveris;

Ports – porta numurs, kas izvēlēts, uzstādot serveri (noklusējums – 330 6);

Lietotājvārds – lietotāja vārds;

Parole – lietotāja parole;

Noklusējuma shēma — tās datu bāzes nosaukums, ar kuru strādāsit (tā var būt esoša vai jauna datu bāze).

3. Noklikšķiniet uz Labi. Ja ievadījāt jaunās datu bāzes nosaukumu, parādītajā dialoglodziņā noklikšķiniet uz Jā, lai izveidotu šo datu bāzi.

Pēc savienojuma izveides ar serveri ekrānā parādīsies galvenais MySQL Query Browser logs (1.32. att.). Tajā jūs varat veikt jebkādas darbības ar datu bāzi: pievienot tabulas, ievadīt un vaicāt datus, reģistrēt jaunus lietotājus utt.

Rīsi. 1.32. MySQL Query Browser galvenais logs


Uzmanību!

Noklusējuma fonts, kas tiek izmantots MySQL vaicājumu pārlūkprogrammā, lai parādītu SQL vaicājumus, neatbalsta krievu burtus. Lai vaicājumu tekstos ievadītu krievu burtus, jāizvēlas cits fonts (piemēram, Arial vai Book Antiqua). Lai to izdarītu, galvenajā MySQL Query Browser logā atveriet izvēlni Rīki un atlasiet Opcijas. Parādītā loga Opcijas kreisajā apgabalā noklikšķiniet uz Vispārīgās opcijas un labajā apgabalā laukā Koda fonts atlasiet vajadzīgo fontu no saraksta. Noklikšķiniet uz pogas Lietot.

Lai atvienotos no servera, vienkārši aizveriet MySQL Query Browser logu.

Tas noslēdz mūsu ievadu MySQL un pāriet uz rezultātu apkopošanu.

1.6. Kopsavilkums

Šajā nodaļā tika apskatīta MySQL DBVS un grafiskās utilītas MySQL Administrator un MySQL Query Browser. Jūs esat apguvis diezgan sarežģītu procedūru MySQL servera instalēšanai un konfigurēšanai, iemācījies pārvaldīt serveri un izveidot savienojumu ar to. Jūs arī uzzinājāt, kā darbojas relāciju datu bāze un kā izveidot savu datu bāzi.

Tātad, nākamais solis ir izveidot datubāzi MySQL. Tam ir veltīta otrā nodaļa. Tas parādīs, kā izveidot tabulas, ievadīt tajās informāciju un atrast nepieciešamo informāciju datu bāzē.

2. nodaļa
Datu bāzes pārvaldība ar SQL

Šajā nodaļā jūs uzzināsit, kā strādāt ar datiem MySQL DBVS, kā noteikt to struktūru un kā pievienot, mainīt un dzēst datus. Šīs darbības veic SQL — universāla strukturēta vaicājumu valoda, kas ir standarta līdzeklis, lai piekļūtu relāciju datu bāzēm.

Lai izpildītu SQL komandas, varat izmantot jebkuru no daudzajām MySQL servera klienta lietojumprogrammām. Šī nodaļa neattiecas uz trešo pušu lietojumprogrammām. Jūs tiksiet iepazīstināts tikai ar MySQL AB izveidotajām lietojumprogrammām: mysql komandrindas utilītu un grafisko MySQL Query Browser utilītu.

Visas datu darbības ir pieejamas abās utilītprogrammās. MySQL Query Browser ir ērti strādāt ar datu bāzi: tās komponenti ir skaidri parādīti, jūs varat tieši rediģēt datus (neizmantojot operatoru SQL UPDATE), strādāt ar vaicājumiem, piemēram, veidot tos, izmantojot īpašu rīku (un jums tas nav nepieciešams lai manuāli ievadītu tabulu un kolonnu nosaukumus), saglabātu vaicājumus failā, eksportētu vaicājumu rezultātus un daudz ko citu. Par visām MySQL Query Browser iespējām varat uzzināt, atsaucoties uz dokumentāciju krievu valodā, kas atrodama vietnē http://dev.mysql.com/doc/query-browser/ru/index.html.

Vispirms jūs uzzināsit, kā palaist SQL komandas MySQL vaicājumu pārlūkprogrammā un komandrindā, un pēc tam apskatīsim tikai SQL komandu sintaksi.

2.1. SQL komandu izpilde

Pirms SQL komandu izpildes ir nepieciešams izveidot savienojumu ar darbojošos MySQL serveri (kā to izdarīt, tika aprakstīts 1. nodaļā). Šajā sadaļā jūs uzzināsit, kā izveidot SQL komandas un iesniegt tās izpildei serverī.

Ja izmantojat komandrindu, tad, lai izpildītu SQL komandu, komandrindas logā ievadiet tās tekstu un nospiediet taustiņu Enter, lai komanda nosūtītu serverim. Lai izvairītos no problēmām ar krievu valodas datu kodēšanu, pirms sākat strādāt ar datiem, palaidiet komandu

IESTATĪT VĀRDUS cp866;

Šīs komandas izpildes rezultātu var redzēt attēlā. 2.1.

Rīsi. 2.1. Kodējuma iestatīšana komandrindā


Komanda SET NAMES ir jāatkārto, kad visi savienojuma izveide ar serveri, izmantojot komandrindu. Šī komanda norāda serverim, ka šī klienta lietojumprogramma (mysql utilīta) izmanto CP-866 kodējumu (tas ir Windows komandrindas kodējums), un serveris, sazinoties ar klienta lietojumprogrammu, automātiski veiks kodējuma pārveidošanu.

Pēc kodējuma maiņas komandrindā varat ievadīt jebkuras SQL komandas. Paziņojums par komandas rezultātu, kā arī pieprasītie dati tiek parādīti tieši komandrindas logā (2.2. att.).

Rīsi. 2.2. SQL vaicājuma izpilde komandrindā


Mysql utilīta ļauj ievadīt vairākrindu komandas (2.3. att. šādā veidā tika ievadīta komanda SHOW DATABASES). Ja semikolu ievada kā komandas beigu zīmi, tad, nospiežot taustiņu Enter, utilīta nenosūta komandu serverim, bet gan liek turpināt komandas ievadīšanu. Ja vēlaties atcelt vairāku rindu komandu, ierakstiet \c (2.3. attēls).

Rīsi. 2.3. Daudzrindu komanda


Ja izmantojat MySQL Query Browser, tad jums nav jāiestata kodējums - šī programma darbojas UTF-8 kodējumā un pati par to ziņo serverim. Taču MySQL Query Browser ir problēma ar krievu burtu attēlošanu vaicājuma apgabalā (zona, kurā tiek ievadīts SQL komandu teksts, 2.4. att.). Lai atrisinātu šo problēmu, jāmaina vaicājuma apgabalā izmantotais fonts (kā to izdarīt, tika aprakstīts iepriekšējās nodaļas beigās). Fonts ir jāmaina tikai vienu reizi.

Rīsi. 2.4. SQL vaicājuma izpilde MySQL vaicājumu pārlūkprogrammā


Vaicājuma apgabalā varat ievadīt vairākas SQL komandas vienlaikus, kā parādīts attēlā. 2.4. Pašreizējā komanda (kursors atrodas vienā no tās rindām) ir iezīmēta ar baltu fonu, pārējās komandas tiek parādītas uz gaiši pelēka fona. Lai izpildītu pašreizējo komandu, varat noklikšķināt uz pogas Izpildīt, kas atrodas pa labi no uzvednes apgabala, vai uz taustiņu kombinācijas Ctrl+Enter. Pēc komandas izpildes rezultātu apgabalā tiek parādīti pieprasītie dati, un šī apgabala apakšā tiek parādīts ziņojums par komandas rezultātu.

Tagad, kad esat iemācījušies ievadīt SQL komandas, sāksim pārvaldīt datus, izmantojot šīs komandas. Pirmkārt, mēs apskatīsim komandas, kas paredzētas darbam ar datu bāzi kopumā.

2.2. Datu bāzes izveide

Šajā sadaļā jūs uzzināsit, kā izveidot un dzēst datu bāzi, mainīt tās noklusējuma kodējumu, atlasīt pašreizējo datu bāzi un arī skatīt visu noteiktā MySQL servera datu bāzu sarakstu.

Lai izveidotu datu bāzi, palaidiet komandu

IZVEIDOT DATU BĀZI<Имя базы данных>;

Piemēram, komanda

IZVEIDOT DATU BĀZI SalesDept;

izveido datu bāzi ar nosaukumu SalesDept.

Ja kāda iemesla dēļ jaunai datubāzei ir jāiestata noklusējuma kodējums, kas atšķiras no MySQL iestatīšanas laikā norādītā kodējuma, tad, veidojot datu bāzi, varat norādīt vēlamo kodējumu (rakstzīmju kopu) un/vai salīdzināšanas (šķirošanas) kārtulu. rakstzīmju vērtības:

IZVEIDOT DATU BĀZI<Имя базы данных>

RAKSTURU KOMPLEKTĀCIJA<Имя кодировки>

SĀKOT<Имя правила сравнения>;

Piemēram, ja importējat datus jaunā datu bāzē, kas ir CP-1251 kodējumā, mēs norādīsim šo kodējumu, veidojot datu bāzi šādā veidā:

IZVEIDOT DATU BĀZI SalesDept

CHARACTER SET cp1251 COLLATE cp1251_general_ci;

Padoms

Lai apskatītu MySQL izmantoto kodējumu sarakstu, palaidiet komandu SHOW CHARACTER SET; un, lai redzētu simbolisko vērtību salīdzināšanas noteikumu sarakstu, izmantojiet komandu SHOW COLLATION;. Šajā gadījumā varat izmantot operatoru LIKE: piemēram, lai redzētu visus CP-1251 kodējuma salīdzināšanas noteikumus, palaidiet komandu SHOW COLLATION LIKE %1251%;. Beigas “_ci” (nejutīgs reģistrs) salīdzināšanas noteikumu nosaukumā nozīmē, ka, salīdzinot un šķirojot rakstzīmju reģistru, netiek ņemts vērā, tiek ņemts vērā galotne “_cs” (reģistrjutīgs) – reģistrs, galotne. “_bin” (binārs) – salīdzināšana un kārtošana tiek veikta pēc ciparu rakstzīmju kodiem. Lielākajai daļai salīdzināšanas noteikumu aprakstu (tas ir, rakstzīmju secību, pēc kuras tiks sakārtotas teksta vērtības) varat atrast tīmekļa lapā http://www.collation-charts.org/mysql60/.

Kodējums, kas norādīts, veidojot datubāzi, pēc noklusējuma tiks izmantots tabulām šajā datubāzē, tomēr varat norādīt citu kodējumu.

Izmantojot komandu, varat mainīt datu bāzes rakstzīmju vērtību kodējumu un/vai salīdzināšanas kārtulu

MAINĪT DATU BĀZI<Имя базы данных>

RAKSTURU KOMPLEKTĀCIJA<Имя кодировки>

SĀKOT<Имя правила сравнения>;

Šajā gadījumā esošajās datu bāzes tabulās izmantotais kodējums paliek nemainīgs; Mainās tikai jaunizveidoto tabulu noklusējuma kodējums.

Lai noņemtu nevajadzīgu vai kļūdaini izveidotu datu bāzi, palaidiet komandu

DROP DATU BĀZI<Имя базы данных>;

Uzmanību!

Datu bāzes dzēšana ir ļoti svarīga darbība, jo tā dzēš visas datu bāzē esošās tabulas un tabulās saglabātos datus. Pirms dzēšanas ieteicams izveidot datu bāzes rezerves kopiju.

Izmantojot komandu, kā pašreizējo datu bāzi varat atlasīt kādu no šajā MySQL serverī izveidotajām datu bāzēm

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

Piemēram,:

IZMANTOT SalesDept;

Pēc tam varat veikt darbības ar tabulām šajā datubāzē, pirms tabulas nosaukuma pievienojot datu bāzes nosaukumu. Piemēram, lai piekļūtu tabulai Klienti datubāzē SalesDept, varat vienkārši rakstīt Klienti, nevis SalesDept.Customers. Norādot pašreizējo datu bāzi, jūs varat piekļūt tabulām citās datu bāzēs, bet jums ir jāizmanto datu bāzes nosaukums kā prefikss. Pašreizējās datubāzes atlase tiek saglabāta, līdz atvienojaties no servera vai izvēlaties citu pašreizējo datu bāzi.

Lai skatītu visu attiecīgajā MySQL serverī esošo datu bāzu sarakstu, palaidiet komandu

RĀDĪT DATU BĀZES;

Pat ja vēl neesat izveidojis nevienu datubāzi, iegūtajā sarakstā redzēsit trīs sistēmas datu bāzes.

INFORMATION_SCHEMA ir informācijas datu bāze, no kuras var iegūt informāciju par visām pārējām datu bāzēm, tajās esošo datu struktūru un visa veida objektiem: tabulām, kolonnām, primārajām un ārējām atslēgām, piekļuves tiesībām, saglabātajām procedūrām, kodējumiem utt. Šī datu bāze ir pieejama. Tas ir tikai lasāms un virtuāls, kas nozīmē, ka tas netiek saglabāts kā direktorijs diskā: visu informāciju, kas tiek pieprasīta no šīs datu bāzes, dinamiski nodrošina MySQL serveris.

Mysql ir utilītu datu bāze, ko izmanto MySQL serveris. Tajā tiek glabāta informācija par reģistrētajiem lietotājiem un viņu piekļuves tiesībām, atsauces informācija utt.

Tests ir tukša datu bāze, ko var izmantot, lai izmēģinātu lietas vai vienkārši izdzēstu.

Tātad, jūs esat apguvis pamata darbības, kas tiek veiktas ar datu bāzi kopumā: komandas CREATE DATABASE (izveide), ALTER DATABASE (mainīt), DROP DATABASE (dzēst), USE (izvēlieties pašreizējo datu bāzi) un SHOW DATABASES (skatīt sarakstu datu bāzēm). Tālāk mēs aplūkosim tabulas darbības. Šajā gadījumā mēs pieņemsim, ka esat izvēlējies datu bāzi kā pašreizējo un strādājat ar tās tabulām.

2.3. Darbs ar galdiem

Šajā sadaļā jūs uzzināsit, kā izveidot, modificēt un dzēst tabulu, kā skatīt tabulas informāciju un visu pašreizējā datubāzē esošo tabulu sarakstu. Sāksim ar grūtāko komandu – tabulas izveidošanu.

Tabulas izveide

Lai izveidotu tabulu, palaidiet komandu, kas parādīta sarakstā 2.1.

Uzskaitījums 2.1. Tabulas izveides komanda

IZVEIDOT TABLU<Имя таблицы>

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

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

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

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


Kā redzat, komanda izveidot tabulu var ietvert daudzus parametrus, taču daudzi no tiem nav obligāti (2.1 sarakstā šie parametri ir ievietoti kvadrātiekavās). Faktiski, lai izveidotu tabulu, jums vienkārši jānorāda tās nosaukums un visu kolonnu nosaukumi un veidi; ja nepieciešams, tiek izmantoti citi parametri.

Vispirms apskatīsim dažus piemērus, kas palīdzēs apgūt komandu CREATE TABLE un nekavējoties, neizpētot tās daudzos parametrus, sāciet veidot savas (vienkāršas pēc struktūras) tabulas.

Pieņemsim, ka mēs veidojam datubāzi, ko izstrādājām 1. nodaļā. Izmantojot komandas no iepriekšējās sadaļas, mēs izveidojām tukšu SalesDept datu bāzi un izvēlējāmies to kā pašreizējo. Tagad izveidosim trīs tabulas: Klienti, Produkti un Pasūtījumi. Sarakstā 2.2 ir parādīta komanda, lai izveidotu tabulu Klienti.

Uzskaitījums 2.2. Komanda, lai izveidotu tabulu Klienti

IZVEIDOT TABLU Klienti

(id SERIAL,

vārds VARCHAR(100),

tālrunis VARCHAR(20),

adrese VARCHAR(150),

vērtējums INT,

PRIMĀRĀ ATSLĒGA (id))


Šajā komandā tika izmantoti parametri: pirmkārt, tabulas nosaukums un, otrkārt, to kolonnu nosaukumi un veidi, no kurām tabula sastāvēs (sk. arī 1. nodaļas 1.1. tabulu).

Id – ieraksta identifikators. Jūs šai kolonnai piešķīrāt veidu SERIAL, kas ļauj automātiski numurēt tabulas rindas. Atslēgvārds SERIAL nozīmē BIGINT Unsigned NOT NULL AUTO_INCREMENT UNIQUE. Tas nozīmē, ka kolonnā var ievadīt lielus veselus skaitļus (BIGINT) pozitīvus (UNSIGNED) skaitļus, savukārt nedefinētu un dublētu vērtību neesamība (NOT NULL UNIQUE) tiek automātiski pārbaudīta. Ja, pievienojot tabulai rindu, šai kolonnai nenorādīsiet vērtību, tad MySQL programma šajā kolonnā ievadīs nākamo kārtas numuru (AUTO_INCREMENT).

Piezīme

NULL ir konstante, kas norāda uz vērtības neesamību. Ja kolonnā ir NULL vērtība, tiek pieņemts, ka šai kolonnai nav noteiktas vērtības (tāpēc mēs arī saucam NULL par nulles vērtību). NULL nevajadzētu sajaukt ar tukšu virkni ("") vai skaitli 0. NULL vērtības tiek apstrādātas atšķirīgi: lielākā daļa funkciju un operatoru atgriež NULL, ja viens no argumentiem ir NULL. Piemēram, salīdzināšanas rezultāts 1 = 1 ir patiesa vērtība (TRUE), un salīdzināšanas rezultāts NULL = NULL ir nedefinēta vērtība (NULL), tas ir, divas nedefinētas vērtības netiek uzskatītas par vienādām.

Nam ir klienta vārds, tālrunis ir tālruņa numurs un adrese ir adrese. Jūs šīm kolonnām piešķīrāt veidu VARCHAR, jo tajās būs rakstzīmju vērtības. Maksimālais atļautais rakstzīmju skaits kolonnas vērtībā ir norādīts iekavās.

Treškārt, jūs norādījāt, ka id kolonna būs tabulas primārā atslēga, tabulas izveides komandā iekļaujot klauzulu PRIMARY KEY (id).

Ceturtkārt, šai tabulai esat norādījis divus izvēles parametrus. Parametrs ENGINE norāda tabulas veidu. Tabulai Klienti jūs piešķīrāt InnoDB tipu, jo tikai šis tips nodrošina relāciju integritātes saglabāšanu starp tabulām (sīkāka informācija par tabulu veidiem tiks apskatīta sadaļā “Izvēles tabulas rekvizīti”). Parametrs CHARACTER SET norāda tabulas datu noklusējuma kodējumu. Tā kā vārda, tālruņa un adreses kolonnām neesat iestatījis atsevišķi kodējumu, dati šajās kolonnās tiks saglabāti UTF-8, kas ir noklusējuma kodējums tabulai Klienti.

Nākamais piemērs, ko apskatīsim, ir Produktu tabulas izveides komanda, kas parādīta sarakstā 2.3.

Uzskaitījums 2.3. Produktu tabulas izveides komanda

CREATE TABLE Produkti

(id SERIAL,

apraksts VARCHAR(100),

informācija TEXT,

cena DECIMAL(8,2),

PRIMĀRĀ ATSLĒGA (id))

DZINĒJS InnoDB CHARACTER SET utf8;


Šī komanda ir ļoti līdzīga komandai, lai izveidotu tabulu Klienti un atšķiras tikai ar tabulas nosaukumu un kolonnu kopu. Tabulas Produkti kolonnās id (preces numurs) un apraksts (produkta nosaukums) ir mums jau pazīstami veidi. Detalizētās informācijas kolonnas veids ir TEXT. Šo veidu ir ērti izmantot VARCHAR tipa vietā, ja kolonnā būs garas vērtības: visu VARCHAR kolonnu vērtību kopējais garums katrai tabulai ir ierobežots līdz 65 535 baitiem, un nav ierobežots kopējais garums. kolonnas TEKSTS. Tipa TEXT trūkums ir nespēja iekļaut šādas kolonnas tabulas ārējā atslēgā, tas ir, izveidot attiecības starp tabulām, pamatojoties uz šīm kolonnām.

Cenu kolonna ir DECIMAL tipa, kas paredzēta naudas summu un citu vērtību glabāšanai, kurām ir svarīgi izvairīties no noapaļošanas kļūdām. Mēs esam norādījuši divus skaitļus iekavās: pirmais no tiem nosaka maksimālo ciparu skaitu kolonnas vērtībā, otrais - maksimālo ciparu skaitu aiz decimāldaļas atdalītāja. Citiem vārdiem sakot, preces cena var saturēt līdz sešiem cipariem veselā skaitļa daļā (6 = 8–2) un līdz diviem cipariem daļējā daļā.

Visbeidzot, pēdējais piemērs ir komanda pasūtījumu tabulas izveidošanai, kas parādīta sarakstā 2.4.

Uzskaitījums 2.4. Pasūtījumu tabulas izveides komanda

IZVEIDOT GALDU PASŪTĪJUMUS

(id SERIAL,

datums DATE,

product_id BIGINT Unsigned NOT NULL,

daudzums INT NEPARAKSTĪTS,

summa DECIMAL(10,2),

customer_id BIGINT NEPARAKSTS,

PRIMĀRĀ ATSLĒGA (id),

ĀRĒJĀ ATSLĒGA (product_id) ATSAUCES Produkti (id)

PAR DZĒŠANU IEROBEŽOT ATJAUNINĀJUMU KASKĀDI,

ĀRĒJĀ ATSLĒGA (customer_id) ATSAUCES Klienti (id)

ATJAUNINĀJUMA KASKĀDES DZĒŠANAS IEROBEŽOJUMĀ)

DZINĒJS InnoDB CHARACTER SET utf8;


Tabulas Pasūtījumi īpaša iezīme ir ārējo atslēgu klātbūtne: ailē product_id ir preču numuri no tabulas Products, bet kolonnā customer_id ir klientu numuri no tabulas Klienti (skatiet arī 1. nodaļas 1.2. tabulu). Tā kā produktu un klientu skaits ir lieli pozitīvi veseli skaitļi, mēs piešķīrām slejas product_id un customer_id tipam BIGINT Unsigned.

Tālāk, lai nodrošinātu, ka attiecību integritāte tiek automātiski uzturēta (par integritāti mēs runājām 1. nodaļā), mēs teicām MySQL, kurai primārajai atslēgai atbilst katra ārējā atslēga. Tādējādi konstrukcija FORIGN KEY (customer_id) REFERENCES Customers (id) nozīmē, ka ailē customer_id var būt tikai vērtības no klientu tabulas id kolonnas un nulles vērtības, un citas vērtības ir aizliegtas. Kolonnai product_id mēs iestatījām līdzīgu ierobežojumu un šai kolonnai piešķīrām rekvizītu NOT NULL, lai novērstu pasūtījumu reģistrēšanu ar nenoteiktu produktu. Turklāt mēs norādījām katra savienojuma integritātes saglabāšanas noteikumus (mēs tos apspriedām arī 1. nodaļā). Noteikums ON DELETE IEROBEŽOTS nozīmē, ka nevar izdzēst klienta ierakstu, ja šim klientam ir reģistrēts pasūtījums, un jūs nevarat izdzēst produkta ierakstu, ja šo produktu ir pasūtījis kāds. Noteikums ON UPDATE CASCADE nozīmē, ka, mainoties klienta numuram tabulā Klienti vai preces numuram tabulā Produkti, atbilstošās izmaiņas tiek veiktas tabulā Pasūtījumi.

Piezīme

Ņemiet vērā, ka mēs izveidojām pēdējo tabulu Pasūtījumi, jo primārās atslēgas tabulās Klienti un Produkti ir jāizveido pirms ārējām atslēgām tabulā Pasūtījumi, kas uz tām atsaucas. Taču būtu iespējams izveidot tabulas bez svešām atslēgām jebkurā secībā un pēc tam pievienot svešās atslēgas, izmantojot komandu ALTER TABLE, ko apskatīsim apakšsadaļā “Tabulas struktūras maiņa”.

Savos piemēros mēs apskatījām tikai dažus tabulas izveides komandas parametrus. Tagad mēs uzskaitīsim visus galvenos parametrus, kas var būt noderīgi, veidojot tabulas. Sadaļā “Datu tipi MySQL” mēs runāsim par kolonnu tipiem, sadaļā “Sleju rekvizīti” runāsim par atslēgu kolonnu iestatīšanu, un visbeidzot sadaļā “Atslēgas kolonnas un indeksi” runāsim par izvēles tabulas rekvizītiem. .

Datu veidi MySQL

Kā jūs jau zināt, veidojot tabulu, katrai kolonnai ir jānorāda datu tips. MySQL nodrošina daudzus datu tipus, lai saglabātu skaitļus, datumus/laikus un rakstzīmju virknes (tekstus). Turklāt ir telpisko objektu uzglabāšanas datu veidi, kas šajā grāmatā netiks apskatīti.

Apskatīsim skaitlisko datu veidus.

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

Bitu numurs, kas satur noteiktu bitu skaitu. Ja bitu skaits nav norādīts, skaitlis sastāv no viena bita.

Vesels skaitlis diapazonā no -128 līdz 127 vai (ja ir norādīts rekvizīts UNSIGNED) no 0 līdz 255.

BOOL vai BOOLEAN.

Tie ir sinonīmi datu tipam TINYINT(1) (skaitlis iekavās ir attēlojamo ciparu skaits, skatiet piezīmi zemāk). Šajā gadījumā vērtība, kas nav nulle, tiek uzskatīta par patiesu (TRUE), nulles vērtība tiek uzskatīta par nepatiesu (FALSE).

Vesels skaitlis diapazonā no -32 768 līdz 32 767 vai (ja ir norādīts rekvizīts UN PArakstīts) no 0 līdz 65 535.

Vesels skaitlis diapazonā no -8 388 608 līdz 8 388 607 vai (ja ir norādīts rekvizīts NEPARAKSTĪTS) no 0 līdz 16 777 215.

INT vai INTEGER.

Vesels skaitlis diapazonā no -2 147 483 648 līdz 2 147 483 647 vai (ja ir norādīts rekvizīts NEPArakstīts) no 0 līdz 4 294 967 295.

Vesels skaitlis diapazonā no -9 223 372 036 854 775 808 līdz 9 223 372 036 854 775 807 vai (ja ir norādīts rekvizīts NEPARAKSTĪTS) no 0 līdz 18 446 744 075 51,6.

Sinonīms vārdam BIGINT Unsigned NOT NULL AUTO_INCREMENT UNIQUE (liels neparakstīts vesels skaitlis, kas pieņem automātiski palielinātas unikālās vērtības; NULL vērtības nav atļautas). Izmanto, lai automātiski ģenerētu unikālas vērtības primārās atslēgas kolonnā. Šajā apakšsadaļā atradīsit aprakstu par rekvizītiem NESIGNED un AUTO_INCREMENT, bet sadaļā "Slejas rekvizīti" - NOT NULL un UNIQUE.

Piezīme

Visiem veselu skaitļu datu tipiem, izņemot BOOL (BOOLEAN) un SERIAL, iekavās varat norādīt parādīto ciparu skaitu, kas tiek izmantots kopā ar parametru ZEROFILL: ja cipars satur mazāk ciparu, tad izvadot tas tiek polsterēts uz atstāja ar nullēm. Piemēram, ja tabulas kolonna ir definēta kā INT(5) ZEROFILL, tad vērtības "1234567" un "12345" tiek parādītas tādas, kādas tās ir, un vērtība "123" tiek parādīta kā "00123". BIT datu tipam iekavās ir norādīts skaitļa lielums, tas ir, maksimālais saglabāto bitu skaits.

Zemāk ir saraksts ar visnoderīgākajām un biežāk izmantotajām komandām MySQL ar piemēriem.

mysql rindas sākumā nozīmē, ka komanda tiek izpildīta pēc pieteikšanās MySQL.

Simbols # vai $ rindas sākumā nozīmē, ka komanda tiek izpildīta no komandrindas.

Lai pārbaudītu servera statusu MYSQL darīt:

Priekš FreeBSD:

# pakalpojuma mysql-servera statuss

V CentOS/RHEL:

# pakalpojuma mysqld statuss

MySQL no konsoles, ja serveris MySQL atrodas tajā pašā resursdatorā:

Lai izveidotu savienojumu ar serveri MySQL no konsoles, ja serveris MySQL atrodas attālajā resursdatorā db1.example.com:

$ mysql -u lietotājvārds -p -h db1.example.com

Darbs ar datu bāzēm un tabulām - ierakstu apskate, dzēšana, rediģēšana. Konsole

Izveidojiet datu bāzi MySQL serveris:

Mysql izveidot datu bāzi

Parādiet visu serverī esošo datu bāzu sarakstu MySQL:

mysql lietošana;

Parādīt visas datubāzes tabulas:

Mysql parādīt tabulas;

Skatīt tabulas formātu datu bāzē:

mysql apraksta ;

Dzēst datu bāzi:

Mysql pilienu datubāze;

Dzēst tabulu no datu bāzes:

Mysql nolaižamā tabula ;

Rādīt visu tabulas saturu:

Mysql SELECT * FROM ;

Rādīt kolonnas un kolonnu saturu atlasītajā tabulā:

Mysql rādīt kolonnas no ;

Rādīt rindas noteiktā tabulā, kurā ir "viss":

Mysql SELECT * FROM WHERE = "neatkarīgi";

Parādīt visus ierakstus noteiktā tabulā, kurā ir "Bob" un tālruņa numurs "3444444:

Mysql SELECT * FROM WHERE name = "Bob" UN tālruņa numurs = "3444444";

Rādīt visus ierakstus, NAV kas satur vārdu "Bob" un tālruņa numuru "3444444", sakārtoti pēc tālruņa numura lauka:

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

Rādīt visus ierakstus, kas sākas ar burtiem "bob" un tālruņa numuru "3444444" noteiktā tabulā:

Mysql SELECT * FROM WHERE nosaukums, piemēram, "Bob %" AND phone_number = "3444444";

Rādīt visus ierakstus, kas sākas ar burtiem "bob" un tālruņa numuru "3444444", ierobežojot ierakstus no 1 līdz 5:

Mysql SELECT * FROM WHERE nosaukums, piemēram, "Bob %" AND phone_number = "3444444" ierobežojums 1.5;

Regulāro izteiksmju izmantošana ("REGEXP BINARY"), lai meklētu ierakstus. Piemēram, meklējot reģistrjutīgos, atrodiet visus ierakstus, kas sākas ar burtu A:

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

Rādīt visus unikālos ierakstus:

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

Parādiet tabulas rindu skaitu:

Mysql SELECT COUNT(*) FROM ;

Mysql SELECT SUM(*) FROM ;

Kolonnas noņemšana:

Mysql mainīt tabulas pilienu kolonnu;

Kolonnas pievienošana datu bāzei:

Mysql alter tabula pievienot kolonnu varchar(20);

Kolonnas nosaukuma maiņa:

Mysql mainīt tabulas izmaiņas varchar(50);

Izveidojiet kolonnu ar unikālu nosaukumu, lai izvairītos no nosaukumu dublikātiem:

Mysql alter tabula pievienot unikālu ();

Kolonnas lieluma maiņa:

Mysql alter tabula modificēt VARCHAR(3);

Kolonnas noņemšana no tabulas:

Mysql mainīt tabulas krituma indekss;

Mysql LOAD DATA INFILE " /tmp/filename.csv " aizstāt INTO TABULAS LAUKOS, KAS BEIDZAS AR "," RINDAS BEIGAS AR "n" (field1,field2,field3);

MySQL servera lietotāji, paroles - lietotāju un paroļu pievienošana, maiņa. Konsole

Jauna lietotāja izveide - savienojuma izveide ar serveri MySQL kā root, pārslēgties uz datu bāzi, pievienot lietotāju, atjaunināt privilēģijas:

# mysql -u root -p mysql izmantot mysql; mysql INSERT INTO lietotājs (Host,User,Password) VALUES("%"," lietotājvārds ", PASSWORD(" parole ")); mysql flush privilēģijas;

Lietotāja paroles maiņa no attālā resursdatora db1.example.org konsoles:

# mysqladmin -u lietotājvārds -h db1.example.org -p parole " new-password "

Lietotāja paroles maiņa no konsoles MySQL- izveidot savienojumu kā root, atjaunināt paroli, atjaunināt privilēģijas:

# mysql -u root -p mysql IESTATĪT PAROLI " lietotājam "@" saimniekdatora nosaukums " = PASSWORD(" parole šeit "); mysql flush privilēģijas;

Saknes servera paroles atkopšana/maiņa MySQL- apstāties MySQL, sāciet bez privilēģiju tabulām, izveidojiet savienojumu kā root, iestatiet jaunu paroli, izejiet un restartējiet MySQL.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; mysql update user set password=PASSWORD(" newrootpassword ") kur User="root"; mysql; skalošanas privilēģijas; mysql iziet # /etc/init.d/mysql stop # /etc/init.d/mysql start

Iestatiet root paroli, ja ir root parole.

# mysqladmin -u saknes paroles jaunā parole

Atjaunināt root paroli:

# mysqladmin -u root -p oldpassword jaunā parole

Tiesību iestatīšana izveidot savienojumu ar serveri no resursdatora localhost ar paroli "passwd" - savienojuma izveide ar apakšsakni, pāreja uz datu bāzi, privilēģiju iestatīšana, atjaunināšanas privilēģijas:

# mysql -u root -p mysql izmantot mysql; mysql piešķirt lietojumu uz *.* bobam @localhost, kas identificēts ar " passwd "; mysql flush privilēģijas;

Lietotāja privilēģiju iestatīšana, lai izmantotu datubāzi – pieslēgšanās kā root, pārslēgšanās uz datu bāzi, privilēģiju iestatīšana, privilēģiju atjaunināšana:

# mysql -u root -p mysql izmantot 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ēģijas;

Mysql piešķir visas privilēģijas datu bāzes nosaukumam .* lietotājvārdam @localhost; mysql flush privilēģijas;

Informācijas atjaunošana datubāzē:

Mysql UPDATE SET Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" kur = lietotājs";

Rindas dzēšana tabulā:

Mysql DELETE from where = "neatkarīgi";

Privilēģiju atjaunināšana datu bāzē:

Mysql flush privilēģijas;

Dublējumkopijas – datu bāzu izveide, atjaunošana. Konsole

Izveidojiet visu datu bāzu rezerves kopiju (dump) failā alldatabases.sql:

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

Dublējiet vienu datu bāzi failā databasename.sql:

# mysql dump -u lietotājvārds -p parole -databases datu bāzes nosaukums ; /tmp/datubāzes nosaukums.sql

Dublējiet vienu tabulu failā Databasename.tablename.sql:

# mysql dump -c -u lietotājvārds -p parole datu bāzes nosaukums tabulas nosaukums ; /tmp/datubāzesnosaukums.tabulasnosaukums.sql

Datu bāzes (vai tabulas) atjaunošana no dublējuma:

# mysql -u lietotājvārds -p paroles datu bāzes nosaukums< /tmp/databasename.sql

Datu bāzes tabulu izveide. Konsole

kolonnu nosaukumus norāda ar maziem burtiem;
LIELIE burti - kolonnu veidi un atribūti;
in (iekavās) - kolonnas veida vērtība.

Izveidojiet tabulu, 1. piemērs:

mysql CREATE TABLE (vārds VARCHAR(20), vidējais sākums VARCHAR(3), uzvārds VARCHAR(35), sufikss VARCHAR(3), officeid VARCHAR(10), lietotāja ID VARCHAR(15), lietotājvārds VARCHAR(8), e-pasts VARCHAR(35) ), tālrunis VARCHAR(25), grupas VARCHAR(15), datuma zīmogs DATE, laikspiedols TIME, pgpemail VARCHAR(255));

Izveidojiet tabulu, 2. piemērs:

Mysql izveidot tabulu (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, vārds VARCHAR(35), middlename VARCHAR(50), uzvārds VARCHAR(50) noklusējuma "bato");

No autora: meitene, tava mašīna neieslēdzas? Varbūt varam pamēģināt “no stūmēja”? ES palīdzēšu! Nezini kā ir? Vai DBVS serveri startējāt tikai caur cmd? Tas nozīmē, ka jūs zināt, kā palaist MySQL, izmantojot komandrindu, bet jūs pat nezināt, kā iedarbināt automašīnu. Mademoiselle, jūs esat "dīvaina" blondīne!

Dīvainības MySQL aprakstā

Gatavojot katru rakstu, man nākas “kārtīgi” pārlūkot internetu, meklējot izziņas materiālus par vienu vai otru “vietņu veidošanas” disciplīnu. Lielākoties internetā ir publicētas daudzas detalizētas rokasgrāmatas un apmācības, bet ne MySQL.

Protams, ir arī cienīgi izglītojoši, taču DBVS galvenā daļa sniedz tikai komandu rakstīšanas piemērus un pat nenorādot sintaksi. Šādā situācijā nekādiem “manekeniem” ir gandrīz neiespējami saprast, piemēram, kā izveidot savienojumu ar MySQL, izmantojot komandrindu.

Lai rastu atbildi iesācējam, nāksies pārmeklēt duci tematisko forumu, kur profesionāli izstrādātāji (uzdodoties gandrīz par “akadēmiķiem”) piekāpsies, lai iesācējam kaut ko normāli izskaidrotu.

Ir vērts saprast, ka īstam administratoram jāzina visi veidi, kā palaist un strādāt ar datu bāzes serveri. Skaidrs, ka programmatūras čaulas ir ērtākā metode, taču tās ne vienmēr var būt pa rokai. Tāpēc, zinot, kā iespējot MySQL, izmantojot komandrindu, vairāk nekā vienu reizi tiks saglabāti gan vietnes dati, gan jūsu kā speciālista reputācija (ja plānojat profesionāli iesaistīties tīmekļa izstrādē).

Apskatīsim šo tēmu sīkāk. Un, lūdzu, nesmieties, ja kaut kas šajā materiālā teiktais jums šķiet tikpat vienkāršs kā automašīnas iedarbināšana "no stumšanas stieņa".

Palaidiet cmd

Lai palaistu MySQL no komandrindas, vispirms aktivizējiet pašu utilītu (cmd), kas ir iekļauta standarta Windows komplektā. To var izdarīt vairākos veidos:

Tastatūras īsinājumtaustiņš Win + R un pēc tam parādītajā dialoglodziņā “Palaist” ievadiet cmd

Izmantojot sākuma paneli.

Turklāt MySQL var būt aprīkots ar vietējo apvalku. Piemēram, ja instalējat datu bāzes serveri vietējā datorā kā atsevišķu “lietojumprogrammu”, kas nav iekļauta “džentlmeņu” pakotnē.

Vietējā MySQL komandrinda tiek palaista tāpat kā parastā cmd. Atšķirības abu utilītu darbībā parādīsies vēlāk. Par to mēs runāsim nākamajā sadaļā.

Darbs ar komandrindu

Vispirms apskatīsim operētājsistēmā iebūvēto utilītu. Apskatīsim, kā palaist MySQL no Windows komandrindas. Lai to izdarītu, jums ir nepieciešams:

Ceļš uz mapi datora failu sistēmā, kurā instalējāt datu bāzes serveri.

Lietotāja konts – pieteikšanās vārds un parole.

Ja strādājat ar Denveru, izpildāmais fails atrodas virtuālajā diskā, kas tiek izveidots pēc lokālā servera palaišanas, pa šo ceļu: Z:\usr\local\mysql-5.5\bin

Kā jau teicu, MySQL komandrinda Denverā tiek palaista, izmantojot cmd OC. Tas ir, mēs vispirms to palaižam un pēc tam norādām ceļu uz DBVS izpildāmo failu. Piekļuves paroli un pieteikumvārdu var norādīt vispirms vai vēlāk pēc MySQL utilīta aktivizēšanas. Kas attiecas uz mani, tad ērtāk ir reģistrēt visu uzreiz: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Mēs pieteicāmies DBVS serverī ar administratora tiesībām. Man nav iestatīta root parole, tāpēc tās vērtība nav norādīta. Pēc MySQL palaišanas no komandrindas tālāk tiks parādīta palīdzības informācija par utilīta versiju, serveri un savienojuma ID.

Tagad pārbaudīsim procedūras pareizību un mūsu tiesību “spēku”. Piemēram, parādīsim visu tabulu sarakstu, kuras pašlaik tiek izmantotas serverī:

RĀDĪT ATVĒRTOS TABLUS;

RĀDĪT ATVĒRTOS TABLUS ;

MySQL Windows komandrindā mums sniedza tikai tās tabulas, kas ir daļa no sistēmas datu bāzes. Tas ir tāpēc, ka visi tajā glabātie dati tiek izmantoti DBVS darbības instancē. Tādā veidā mēs zinājām, ka serveris darbojas un ka esam tajā pieteikušies ar administratora tiesībām, kā plānots.

Shēma darbam ar čaulu, kas instalēta kopā ar datu bāzes pārvaldības sistēmu, ir nedaudz atšķirīga. Lai to visu “piedzīvotu” paši, aktivizēsim MySQL, izmantojot šo komandrindu.

Pēc tā palaišanas tiek parādīts logs, kurā nekavējoties jāievada parole. Pretējā gadījumā viss mijiedarbības process ar utilītu ir vienāds.

Darbs ar citām lietojumprogrammām

Standarta DBVS rīku komplekta sastāvs neaprobežojas ar vienu servera izpildāmo failu. To sortimentu var apskatīt, ieskatoties tajā pašā mapē, kur atrodas datu bāzes serveris. Piemēram, palaidīsim MySQL dump utilītu, izmantojot komandrindu.

Vispirms dodieties uz virtuālo disku, pēc tam izmantojiet komandu cd uz mapi, kurā tiek saglabāta utilīta. Atgādināšu, ka tas ir paredzēts datu bāzu rezerves kopiju izveidei.

Nākamajā darbībā pirms pieteikšanās MySQL, izmantojot komandrindu, mums būs jānorāda konts un parole. Komandas mysqldump izmantošanas piemērs:

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

Lai komanda darbotos pareizi, izpildes laikā ir jāizveido norādītais direktorijs. Pretējā gadījumā utilīta atgriezīs ziņojumu, ka šāds ceļš nepastāv.

Ir arī vērts atzīmēt, ka norādītajam MySQL lietotājam komandrindā ir jābūt tiesībām modificēt datu bāzi vai administratora kontu.

Citas standarta komplektā iekļautās utilītas tiek palaistas līdzīgi. Ar viņu palīdzību jūs varat veikt visas pamata DBVS administrēšanas darbības: pārvaldīt lomas, izveidot dublējumus, rediģēt krātuvju saturu. Un arī instalējiet MySQL pakalpojumu no komandrindas. Kopumā viss, bez kā datu bāzes serveris nesāksies “no stūmēja”.

Operētājsistēmai Win 32 atlasiet izplatīšanu: Windows (x86, 32 bitu), Zip-arhīvs.

Operētājsistēmai Win 64: Windows (x86, 64 bitu), Zip-arhīvs.

Pēc noklikšķināšanas uz pogas Lejupielādēt jūs redzēsit reģistrācijas veidlapu, kuru varat izlaist, noklikšķinot uz tālāk esošās saites - Nē, paldies, vienkārši aizvediet mani uz lejupielādi.

2. Izveidojiet instalācijas mapi. Piemēram . Un izpakojiet tajā arhīva saturu, lai mapes bin, dati, dokumenti un citi atradās instalācijas mapes saknē.

3. Pāriesim pie konfigurācijas faila (my.ini) izveidošanas. Par pamatu ņemam vienu no standarta failiem:

  • my-small.ini - piemērots tiem, kas laiku pa laikam izmanto MySQL un nevēlas, lai serveris aizņemtu daudz resursu.
  • my-medium.ini ir arī zemu resursu konfigurācija, taču tā ir piemērota tiem, kas pastāvīgi izmanto MySQL (laba izvēle mājas tīmekļa serverim).
  • my-large.ini un my-huge.ini — sistēmām, ko izmanto kā īpašu MySQL serveri. Tomēr my-large.ini var izmantot mājas serverim, ja nepieciešama papildu MySQL veiktspēja (512 MB RAM mūsdienās nav tik daudz).
  • my-innodb-heavy-4G — īpašiem serveriem ar vismaz 4 GB RAM un tikai InnoDB tabulām.

Šajā piemērā par pamatu izvēlējos my-medium.ini. Pārdēvējiet to par my.ini un ievietojiet to instalācijas mapes saknē ( C:\Program Files\MySQL\MySQL Server 5.5).

Atveriet rediģēšanai (parastajā Notepad) un uzreiz pēc rindas pievienojiet divus parametrus:

Basedir=C:/Programmu faili/MySQL/MySQL Server 5.5 datadir=C:/Programmu faili/MySQL/MySQL Server 5.5/data

Ņemiet vērā, ka ceļos tiek izmantotas slīpsvītras uz priekšu (/), nevis atpakaļvērstās slīpsvītras (\).

baseir ir ceļš uz instalācijas mapi.

datadir - ceļš uz datu mapi (kur tiek glabātas visas datu bāzes). Dažreiz ir jēga ievietot datus atsevišķā diskā, lai uzlabotu veiktspēju vai nodrošinātu uzticamību.

Katram gadījumam šeit ir konfigurācijas faila fragments pēc izmaiņu veikšanas:

# MySQL serveris 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 M max_allowed_packet = 1 miljons table_open_cache = 64 kārtošanas_bufera_izmērs = 512 000 neto_bufera_garums = 8 K lasīšanas_bufera_izmērs = 256 000 lasīšanas_bufera_izmērs = 512 000 myisam_sort_buffer_size = 8 milj.

4. Nākamais solis ir ceļa pievienošana C:\Program Files\MySQL\MySQL Server 5.5\bin uz vides mainīgo PATH, lai atvieglotu MySQL palaišanu no komandrindas. Lai to izdarītu, atveriet Sistēmas rekvizīti -> Papildu sistēmas iestatījumi -> cilnē Papildu, pašā apakšā noklikšķiniet uz pogas "Vides mainīgie...". Atvērtajā logā ritiniet sistēmas mainīgos, līdz atrodam Path. Atlasiet šo rindu un noklikšķiniet uz "Mainīt...". Rindas beigās pievienojam savu ceļu, saglabājot esošos parametrus:

Ņemiet vērā, ka ceļi ir atdalīti ar semikolu. Pārliecinieties, vai ceļa sākumā un beigās ir semikolu.

5. Pirms testa palaišanas atveriet ienākošo TCP portu 3306 Windows ugunsmūrī:

Ja jūsu sistēmā ir instalēts papildu ugunsmūris, ienākošajiem savienojumiem ir jāatver arī TCP ports 3306.

6. Tagad mēs veicam testa braucienu. Komandrindā, kas palaista kā administrators (tas ir nepieciešams, ja UAC ir iespējots Seven vai Vista), palaidiet:

Mysqld -- konsole

Ekrānā tiks parādītas vairākas rindas. Ja palaišana bija veiksmīga, pēdējā rindiņa izskatīsies apmēram šādi:

Versija: "5.5.9-log" ligzda: "" ports: 3306 MySQL Community Server (GPL)

Atstājiet šo logu atvērtu un atveriet citu komandrindas logu, kurā ievadām:

Mysql -u sakne

Ja savienojums bija veiksmīgs, jūs redzēsit komandu uzvedni: mysql>

Apskatīsim, kādas datu bāzes mums ir:

Rādīt datu bāzes;

Semikols SQL vaicājuma beigās ir OBLIGĀTS!

Komandas atbilde:

Tagad beidzot esam pārliecināti, ka serveris strādā.

7. Pārejam pie nākamās darbības – jāiestata MySQL administratora parole (root user). Pēc noklusējuma parole nav iestatīta, un tā ir jānovērš. Tajā pašā MySQL logā ievadiet šādas komandas:

Use mysql UPDATE user SET password = PASSWORD("jūsu_parole") WHERE user = "root";

Pārbaudīsim rezultātu:

SELECT lietotāju, resursdatoru, paroli NO lietotāja;

Kā redzat ekrānuzņēmumā, paroles kolonna ir aizpildīta, kas nozīmē, ka parole ir iestatīta.

Pirms iziešanas palaidiet komandu:

FLUSH PRIVILĒĢIJAS;

Tagad, izveidojot savienojumu, jums jāievada parole. Lai to izdarītu, izmantojiet slēdzi -p:

Mysql -u sakne -p

Lai izslēgtu MySQL palaišanu:

Mysqladmin -u root -p izslēgšana

8. Pēdējais solis ir palaist MySQL kā Windows sistēmas pakalpojumu.

Pārliecinieties, vai sistēmā nav aktīvu MySQL procesu.

Komandrindā, kas darbojas kā administrators, palaidiet:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" - instalēt

Ceļš uz mysqld ir jānorāda pilnībā (pat ja tas ir norādīts PATH)!

Lai palaistu pakalpojumu, atveriet “Computer Management” un manuāli palaidiet pakalpojumu MySQL:

Vai arī vienkāršāk, izmantojot komandrindu:

Net start mysql

Lai noņemtu pakalpojumu, vispirms apturiet to:

Net stop mysql

un izpildīt:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" - noņemt

No autora: Vai esat atkal apmaldījies un nezināt, kā pieteikties MySQL? Tu neesi pirmais! Apkopojiet visus apmaldījušos, un tagad dosimies tieši pie viņas. Kam "viņai"? Uz populārākajām DBVS globālajā tīmeklī!

Kur Denverā atrodas MySQL?

Tas nenozīmē ASV Kolorādo štata galvaspilsētu, bet gan programmatūras pakotni aplikāciju izveidei un testēšanai PHP valodā. “Kungiem” paredzētajā komplektā ietilpst lokālais Apache serveris, MySQL serveris un phpMyAdmin apvalks. Tieši ar šīs programmatūras pakotnes palīdzību “iesācēji” visbiežāk apgūst visas darba ar šo datu bāzes pārvaldības sistēmu sarežģītības.

Pirms pieteikšanās MySQL, izmantojot pārlūkprogrammu, jums ir jāstartē lokālais serveris, pēc tam adreses joslā ierakstiet localhost un parādītajā logā "Hurray, it's working!" Sadaļā Utilītas atlasiet phpMyAdmin.

Pēc tam jūs tur atradīsities (phpMyAdmin).

Mēs ejam uz datu bāzēm caur “labirintu”

Mēs ar jums iesim “blīvā” mežā un mēģināsim “tikt cauri” tam datu bāzes serverim. Nedomājiet, ka mēs no kāda slēpjamies, vienkārši tagad rīkosimies kā... Aiziet!

Pirms pieteikšanās MySQL, izmantojot komandrindu, jums vajadzētu noskaidrot, kur atrodas galvenā datu bāzes servera direktorija. Ja izmantojat DBVS “tīrā” formā bez “piemaisījumiem” (ārpus “džentlmeņu” kopas), tad servera saknes mape atrodas šeit: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

Ja izmantojat Denveru, meklētais fails atrodas šajā ceļā: Z:\usr\local\mysql-5.5\bin\mysql.exe,

kur Z ir virtuālais disks, kas tiek izveidots pēc lokālā tīmekļa servera palaišanas. Jums tas var būt ar citu nosaukumu (precīzāk, burtu).

Mūs interesē fails mysql.exe. Palaidīsim to, norādot datu bāzes servera nosaukumu, paroli un lietotāju, ar kuru mēs pieteiksimies MySQL.

Kā iespējot MySQL, izmantojot komandrindu: dodieties uz "Start", standarta programmās atlasiet "Command Prompt". Mēs palaižam utilītu, un turpmāk soli pa solim aprakstīsim visu “staigāšanas” procedūru blīvajā mežā, lai visa “pazudušo” cilvēku grupa atkal nepazustu. Sāksim:

Melnajā CMD (komandrindas) logā ievadiet ceļu, kur tiek glabāts MySQL izpildāmais fails, un blakus tam norādiet DBVS lietotājvārdu un paroli. Tā kā mums ir lokālais serveris, tad pēc identifikatora u ievadām lietotājvārdu root bez paroles.

Tas faktiski nav pareizi, un katram MySQL servera lietotājam ir jāiestata parole. Mēs sīkāk apsvērsim visas DBVS drošības problēmas kādā no mūsu nākamajām publikācijām.

Šeit ir viss “koda” fragments: Z:\usr\local\mysql-5.5\bin\mysql.exe -u sakne

Ja viss noritēja labi, tad zemāk komandrindas logā jāparādās informācijai par darbojošā pakalpojuma versiju, izlaišanas gadu un citai mums “nevajadzīgai” informācijai.

Tagad, lai pārbaudītu savienojuma pareizību, pēc mysql> operatora ievadīsim vaicājumu, kas parādīs visas serverī saglabātās datu bāzes. Pieprasījuma kods:

parādīt datu bāzes;

Neaizmirstiet pieprasījuma beigās ievietot semikolu, pretējā gadījumā sistēma parādīs kļūdas ziņojumu. Pēc vaicājuma ievadīšanas un taustiņa “Enter” nospiešanas mēs saņēmām visu DBMS serverī saglabāto datu bāzu sarakstu:

Bet ar to mums nepietiek. Iedziļināsimies struktūrā vēl dziļāk. Apskatīsim, kā pieteikties MySQL datu bāzē un iegūt visu tās tabulu sarakstu. Atgādināšu, ka mēs jau esam pilnvaroti serverī, tāpēc mums jāievada tikai vēl viens pieprasījums:

parādīt tabulas no db1;

parādīt tabulas no db1;

db1 ir mums nepieciešamās datu bāzes nosaukums.

Ekrānuzņēmumā redzams, ka pieprasītajā datu bāzē ir tikai viena tabula.

Raksim dziļāk!

Kā saka, “apetīte” rodas pēc koda izpildes rezultātu saņemšanas. Tāpēc mēs mēģināsim rakt vēl dziļāk, lai iegūtu datus, kas tiek glabāti tabulā. Pirms vēlreiz piesakāties MySQL, šeit ir SQL vaicājuma piemērs, ar kuru mēs varam izpildīt savus plānus:

SELECT * NO dzīvnieka;

SELECT * FROM dzīvnieks ;

Mēs ievadām pieprasījumu, palaižam to izpildei un... Kādu iemeslu dēļ serveris mums sniedza kļūdu.

Un tas viss tāpēc, ka mēs aizmirsām MySQL pateikt, kura datu bāze mūs interesē. Tātad serveris "zvēr", ka neviena no datu bāzēm nav piešķirta. Tas vēlreiz pierāda, ka darbs ar DBVS, izmantojot komandrindu, ļoti atšķiras no mijiedarbības ar to, izmantojot programmatūras čaulu.

Programmā phpMySQL šis vaicājums tiks veiksmīgi izpildīts un serveris atgrieztu visu pieprasītajā tabulā esošo rindu atlasi.

Izlabosim mūsu izplatīto izlaidumu (vienmēr ir grūti atzīt savu vainu), un pirms atkārtotas pieteikšanās MySQL caur konsoli sagatavosim “konkrētu” vaicājumu, ar kuru mēs norādīsim sistēmu uz vēlamo datu bāzi:

IZMANTOT db1 ;

Pēc šīs rindas ievadīšanas un izpildes serveris parādīs ziņojumu, kas apstiprinās, ka vēlamā datu bāze ir piešķirta.

Un tagad ievadīsim un izpildīsim vaicājumu, lai vēlreiz izgūtu visus datus no dzīvnieku tabulas. "Lai būtu dati!" - teica administrators un palaida SELECT. Mēs nokļuvām db1 apakšā un ieguvām dzīvnieku tabulas saturu. Ne velti pirms ievadīšanas MySQL datubāzē mēs veicām veselu “rituālu” un SQL ierakstījām pareizo “burvestību”.

Ko vēl var izrakt?

Mēs izrakām dziļi līdz MySQL apakšai. Tagad rakāsim mazliet uz sāniem. Kādu citu informāciju var iegūt, izmantojot komandrindu, vaicājot MySQL? Vai vēlaties uzzināt tabulas struktūru, visu kolonnu datu tipus, primāro atslēgu? Lūdzu! Palaidiet šo vaicājumu:

aprakstiet dzīvnieku;

aprakstiet dzīvnieku;

Dažreiz, lai zinātu, kā iespējot MySQL serveri, jums jāiegūst visu DBVS reģistrēto lietotāju saraksts. Šim nolūkam tiek izmantots šāds vaicājums.