MySQL — Windows konsoles komandas. Automātiska MySQL instalēšana operētājsistēmā Windows Mysql windows konsoles komandas

Sveiki, dārgie emuāru lasītāji, ir pienācis laiks mainīt parasto phpMyAdmin ar daudz brutālāku datu bāzes pārvaldības rīku. Šodien mēs iepazīsimies ar MySQL konsoli un uzzināsim, kā izpildīt standarta komandas, kā arī datu bāzes atkopšanas komandas. MySQL konsole- šī ir standarta DBVS (Datu bāzes pārvaldības sistēma) MySQL, kas tiek piegādāts kopā ar produktu.

Kad var noderēt MySQL konsole?

No iesācēja tīmekļa programmētāja viedokļa, phpMyAdmin veic visas normālai darbībai nepieciešamās funkcijas. Iedomājieties, ka esat ne tikai tīmekļa programmētājs, bet daļēji arī sistēmas administrators, kuram ir pienākums atjaunot datubāzi pēc kļūmes.

Šajā gadījumā jūs nevarat iztikt bez prasmēm darbā ar MySQL konsoli. Nedaudz vēlāk apskatīsim komandas datu bāzes atjaunošanai, izmantojot konsoli, bet pagaidām sāksim ar pamatiem.

Kā palaist MySQL konsoli

Varat palaist konsoli, izmantojot programmu Windows Explorer, mapē MySQL atrodot utilītu mysql.exe. Parasti tas atrodas: [ceļš uz mapi]\mysql\bin\mysql.exe. Ja izmantojat Denveru, MySQL konsole, jums vajadzētu skatīties šajā virzienā:
C:\WebServer\usr\local\mysql\bin\mysql.exe

Papildus Windows Explorer varat izmantot komandrindu:

  • Palaidiet cmd.exe
  • Ierakstiet pilnu ceļu uz failu mysql.exe
  • Nospiediet enter

Jums vajadzētu redzēt kaut ko līdzīgu šim:

Kļūda norāda, ka, lai palaistu mysql konsoli, jāievada lietotāja pieteikumvārds un parole. Strādājot ar Denveru, standarta datu bāzes lietotājs ir root ar tukšu paroli.
Izpildiet to pašu komandu ar papildu parametriem, kas norāda autorizācijas datus.

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

Ja viss ir izdarīts pareizi, jūs saņemsit ziņojumu " Laipni lūdzam MySQL konsolē..."

Jūs varat pārbaudīt, vai esat veiksmīgi pieslēgts datu bāzes serverim, ievadot komandu show databases; . Tā izpildes rezultātā tiks parādīts serverī esošo datu bāzu saraksts.

Mēģināsim atlasīt kādu no datu bāzēm un apskatīt tajā esošo tabulu sarakstu:

lietošanas tests; parādīt tabulas;

Savā piemērā es atsaucos uz testa datubāzi; ja jums tādas nav, skatiet jebkuru citu pieejamo datubāzi.

Kā eksperimentu varat mēģināt izveidot testa datu bāzi, izmantojot komandu:

izveidot datu bāzes testu;

Uz kuru jūs saņemsit ziņojumu: " QUERY OK, ietekmēta 1 rinda", norādot, ka datubāze ar nosaukumu tests ir veiksmīgi izveidota.

Tagad testa datubāzē izveidosim pasūtījumu tabulu.

izveidot tabulu testu (`id` int(11),`content` varchar(255));

Un vēlreiz palaidiet komandu parādīt tabulas; , kas parādīs, ka tabula patiešām ir izveidota un ir pieejama darbam ar to.

Varat arī mēģināt parādīt tabulas kolonnu sarakstu:

rādīt kolonnas no test.order;

Nu, lai noslēgtu mūsu iepazīšanos ar MySQL konsole, izpildīsim dažus vaicājumus:

SELECT * FROM test.order;

Tāpēc, dārgie lasītāji, es jūs apsveicu, tagad jūs varat strādāt ar MySQL spartas apstākļos bez phpMyAdmin. Šeit ir ikdienas komandu saraksts:

  • IZVEIDOT DATU BĀZI DB_NAME; — izveidot jaunu datubāzi;
  • RĀDĪT DATU BĀZES; — pieejamo datubāzu apskate;
  • IZMANTOT DB_NAME; — izvēlieties datu bāzi;
  • RĀDĪT TABULAS; — apskatīt visas tabulas;
  • RĀDĪT SLEJAS NO TABLE_NAME; — apskates kolonnas un to īpašības;
  • CREATE TABLE TABLE_NAME (`ID` INT(11),`NAME` VARCHAR(255));— tabulas izveidošana;
  • ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT(11);— pievienot tabulai kolonnu;
  • ALTER TABLE TABLE_NAME DROP COLUMN_NAME;— noņemt kolonnu no tabulas;
  • MYSQL -USERNAME -PPASSWORD -HHOST DB_NAME — aizpildiet datu bāzi;
  • MYSQLDUMP -LIETOTĀJVĀRDS -PPASSWORD -HHOST DB_NAME > FILE_NAME.SQL— izveidot datubāzes izgāztuvi;
  • ATSTĀT; — iziet no MySQL konsoles.

Komandas tabulu atjaunošanai, izmantojot MySQL konsoli

Kā jau raksta sākumā solīju, ievietoju komandas tabulu atjaunošanai. Šīs komandas var būt noderīgas pēc servera kļūmes.

Populāra datu bāzes pārvaldības sistēma MySQL plaši izmanto dažādām vajadzībām, galvenokārt kā de facto standarts interneta mitināšanas jomā. Ne mazāk izplatīta ir šīs DBVS pārvaldības pakotne - phpMyAdmin. Bez šaubām, šis ir labs, ērts produkts, taču ļoti bieži gadās, ka prasmes strādāt ar šo produktu pilnībā aizvieto prasmes strādāt ar pašu DBVS. Tāpēc šajā materiālā mēs nolēmām iepazīstināt mūsu lasītājus ar to, kā veikt pamata MySQL administrēšanas uzdevumus no komandrindas.

Kā, iespējams, ir pamanījuši mūsu pastāvīgie lasītāji, mēs konsekventi iebilstam pret dažāda veida vadības paneļu izmantošanu iesācējiem, lai cik ērti un plaši tie būtu. Tajā pašā laikā mēs nenoliedzam to esamību un paši ar prieku izmantojam savās ikdienas darbībās.

Taču ir viena liela atšķirība: speciālists, kurš zina, kā strādāt ar komandrindu, izmantojot paneli, neaizstāj spēju strādāt ar produktu, bet tikai atvieglo sev ikdienas darbu veikšanu. Un iesācējs, pieradis veikt visas darbības panelī, ja tas ir nepieejams, krīt klusā panikā, jo tagad viņam ir jāievada dažas “burvestības” šajā nesaprotamajā melnajā pultī...

Patiesībā darbs ar DBVS komandrindas līmenī nepavisam nav grūts, un dažus administrēšanas uzdevumus tajā ir vieglāk un ērtāk veikt. Tūlīt veiksim rezervāciju: ar administrēšanu mēs saprotam DBVS servera administrēšanu, nevis pašas datu bāzes. Protams, ar tiem var strādāt arī no komandrindas, taču šim nolūkam labāk izmantot piemērotākus rīkus.

Datu bāzu un lietotāju pārvaldība MySQL

Ja jāsāk dejot no plīts, tad darbs ar DBVS jāsāk ar datu bāzu un šo datu bāzu lietotāju izveidi. Uzdevumi būtībā ir vienkārši, un tos var lieliski atrisināt, un pats galvenais, vienkārši, no konsoles. Tāda paša nosaukuma utilīta ir paredzēta darbam ar MySQL serveri mysql, ar kuru tiek strādāts interaktīvajā režīmā, tāpēc vispirms izveidosim savienojumu ar serveri:

Mysql -u sakne -p

Ja slēdzis -u norāda lietotājvārdu un -p norāda paroles autentifikāciju, komandas sintakse ļauj norādīt paroli, ievadot to bez atstarpēm uzreiz aiz atslēgas, taču šajā gadījumā tā tiks saglabāta komandu vēsturē, kas ir nav gluži laba, tāpēc paroli labāk ievadīt interaktīvi. Pēc šīs komandas izpildīšanas mēs nonāksim MySQL vidē, kā to norāda mainītā komandrindas uzvedne.

Darbam šajā vidē ir savas īpatnības: katrai komandai jābeidzas ar simbolu ; vai \g, par kuru, starp citu, rakstīts apsveikuma pirmajā rindā. Šis režīms tiek iziets ar komandu:

Parunāsim par vienu ļoti izplatītu kļūdu: aizmirstot komandas beigās ievietot semikolu. Ko darīt? Nav lielas problēmas, vienkārši ievadiet trūkstošās rakstzīmes nākamajā rindā.

Vispirms apskatīsim datu bāzu sarakstu:

Rādīt datu bāzes;

Kā saka, bez liekām detaļām, bet lielākajai daļai administratīvo uzdevumu ar to pietiek:

Lietotāju saraksta noskaidrošana ir nedaudz grūtāka, tas tiek saglabāts pakalpojumu datu bāzes tabulas veidā mysql, tāpēc rakstām nelielu pieprasījumu:

Izvēlieties lietotāju, resursdatoru no mysql.user;

Komanda atlasiet atlasa norādītās kolonnas lietotājs, saimniekdators, opcija no norāda, no kurienes mēs tos atlasām, proti, no datu bāzes lietotāju tabulas mysql.

Pirmajā kolonnā ir norādīts lietotājs, otrajā - resursdators, kurā šim lietotājam ir atļauts izveidot savienojumu, % - apzīmē jebkuru vērtību. Lūdzu, ņemiet vērā, ka, ja Ivanovs ir iestatījumos vietējais saimnieks, pēc tam, kad ir izveidots savienojums ar mysql pēc adreses 127.0.0.1 viņš nevarēs piekļūt, tas ir jāņem vērā, lietojumprogrammās norādot savienojuma datus ar DBVS serveri.

Varat skatīt datu bāzes īpašniekus, izmantojot šādu vaicājumu:

Izvēlieties saimniekdatoru,db,lietotāju no mysql.db;

Šeit nav nepieciešami īpaši komentāri. Piemēram, Ivanovs ir tiesības uz datu bāzēm ar prefiksu Ivanovs_ kad ir izveidots savienojums, izmantojot vietējais saimnieks, un Andrey uz bāzēm ar prefiksu andrey_ jebkurā resursdatorā. Jūs varat apskatīt lietotāja privilēģijas ar komandu:

Rādīt dotācijas "ivanov"@"localhost";

Mēs iesaiņojam lietotājvārdu un saimniekdatoru atsevišķās pēdiņās.

Pirmajā rindā tiek ziņots, ka norādītajam lietotājam nav privilēģiju ( LIETOŠANA) uz jebkuru jebkuras datu bāzes tabulu ( *.* ), otrā rindiņa runā par visām galvenajām privilēģijām visām visu datu bāzu tabulām ar prefiksu Ivanovs_.

Detalizēta MySQL tiesību sistēmas analīze pārsniedz šī raksta darbības jomu, teiksim tā VISAS PRIVELĒĢIJAS dod lietotājam visas tiesības uz viņa datu bāzēm, bet neļauj viņam pārvaldīt piekļuves tiesības citiem lietotājiem. Lai to izdarītu, tiek izmantots tiesību kopums VISAS PRIVELĒĢIJASAR DOTĀCIJAS IESPĒJU, kam pēc noklusējuma ir sakne. Vienkāršam lietotājam šis tiesību kopums ir lieks.

Mēģināsim izveidot jaunu lietotāju:

Izveidot lietotāju "petrov"@"localhost", kas identificēts ar "paroli";

Komandu sintakse ir vienkārša, paroles veidā norādām lietotājvārdu un resursdatoru, kā arī identifikācijas datus. Visas nodotās vērtības ir iesaiņotas atsevišķās pēdiņās. Pēc lietotāja izveidošanas jums jāpiešķir viņam tiesības, tas tiek darīts ar komandu GRANT. Pirmkārt, mēs viņam nepārprotami atņemsim privilēģijas uz citu cilvēku datu bāzēm:

Piešķirt *.* izmantošanu "petrov"@"localhost";

Tad mēs varam iestatīt tiesības pēc saviem ieskatiem, piemēram, izsniegt pilnas tiesības datu bāzēm ar nosaukuma veidni petrov_:

Piešķiriet visas `petrov\_%`.* privilēģijas "petrov"@"localhost";

Lūdzu, ņemiet vērā, ka rakstam jābūt apvilktam ar rakstzīmēm gravis (` ), kas atrodas uz atslēgas ar krievu burtu E.

Varat piešķirt tiesības uz atsevišķu datu bāzi, piemēram:

Piešķiriet visas privilēģijas vietnē andrey_drupal8.* "petrov"@"localhost";

Lai atlasītu tiesības, izmantojiet tikai komandu REVOKE, kurai ir līdzīga sintakse uz (kam), aizstājiet to ar no (PVO). Piemēram:

Atsaukt visas privilēģijas vietnē andrey_drupal8.* no "petrov"@"localhost";

Lai MySQL serveris piemērotu tiesības, tas ir jāpiespiež atkārtoti ielādēt privilēģiju kešatmiņu ar komandu:

Flush privilēģijas;

Iespējams, būs jāmaina arī lietotāja parole:

Iestatīt paroli "petrov"@"localhost" = parole("newpassword");

Pārdēvējiet to, un pārdēvēšana ne vienmēr nozīmē lietotājvārda maiņu; jūs varat mainīt gan nosaukumu, gan resursdatoru jebkurā kombinācijā:

Pārdēvēt lietotāju "petrov"@"localhost" uz "petr"@"127.0.0.1";

Visbeidzot, izdzēsiet kontu:

Atmest lietotāju "petr"@"127.0.0.1";

Pārejam no lietotājiem uz datu bāzēm; vienkāršākajā gadījumā, lai izveidotu jaunu datu bāzi, pietiek ar komandu:

Izveidot datubāzi petrov_newdb;

Tādējādi tiks izveidota datu bāze ar noklusējuma kodu lapu un salīdzināšanas kodējumu. Ja DBVS serveris netika konfigurēts atsevišķi, visticamāk, tas būs šis kodējums latin1_swedish_ci, kas dažos gadījumos var radīt problēmas, ja ne tagad, tad nākotnē, tāpēc, veidojot datu bāzi, ir ieteicams skaidri norādīt kodējumu. UTF-8 gadījumā tas būtu šādi:

Izveidot datubāzi petrov_newdb noklusējuma rakstzīmju kopa utf8 salīdzina utf8_general_ci;

Operētājsistēmai Windows-1251:

Izveidot datubāzi petrov_newdb noklusējuma rakstzīmju kopa cp1251 salīdzināt cp1251_general_ci;

Lai noņemtu datu bāzi, izmantojiet:

Drop datubāze petrov_newdb;

Pārbaude, optimizēšana, kļūdu labošana MySQL datu bāzēs

Tā kā MySQL aktīvi darbojas, datu bāzes var kļūt sadrumstalotas un tabulu datos var būt kļūdas. Mēs tagad nerunājam par nopietnām kļūmēm, šādas situācijas jāapsver individuāli, bet gan par vienkāršākajām kļūdām, kuras var veiksmīgi novērst, izmantojot pašu DBVS. Lai pārbaudītu, labotu un optimizētu, ir ērti izmantot mysqlcheck utilītu.

Lai pārbaudītu datu bāzi, dariet to, kur andrey_drupal8- datu bāzes nosaukums:

Mysqlcheck -u root -p -- pārbaudiet andrey_drupal8

Visas datu bāzes var pārbaudīt uzreiz ar komandu:

Mysqlcheck -u root -p --check --all-databases

Un tā kā visa izvade, visticamāk, neietilps ekrānā, ir lietderīgi to novirzīt uz komandu mazāk:

Mysqlcheck -u root -p --check --all-databases | mazāk

pieraksti to mazākļauj ritināt izvadi gan uz leju, gan uz augšu, izmantojot bultiņas, nospiediet , lai izietu q.

Ja kādā no datu bāzēm tika atrastas kļūdas, mēģiniet tās labot, lai to izdarītu, norādiet:

Mysqlcheck -u root -p --automātiskais remonts andrey_drupal8

Lai optimizētu, izmantojiet taustiņu - - optimizēt, varat optimizēt vienu vai vairākas datubāzes, lai to izdarītu, uzskaitiet tās pēc atslēgas -- datu bāzes:

Mysqlcheck -u root -p --optimize --databases andrey_drupal8 petrov_newdb

un arī visu uzreiz:

Mysqlcheck -u root -p --optimize --all-databases

MySQL datu bāzes izgāztuvju augšupielāde un ielāde

Vēl viens izplatīts uzdevums, administrējot jebkuru DBVS, datu bāzes izgāztuves tiek izmantotas gan dublēšanai, gan kopiju pārsūtīšanai vai izveidošanai. Ja dublēšana ir automatizēts process, tad kopiju izveide pārsūtīšanai uz citu serveri vai pirms jebkādas nozīmīgas iejaukšanās datu bāzes struktūrā ir jāveic manuāli.

Un, ja runa ir par lielām datu bāzēm, tad šeit phpMyAdmin slikts palīgs, tas ietekmē skriptu izpildes laiku, lejupielādētā faila lielumu, pieejamo atmiņu utt. Un, lai gan jūs joprojām varat augšupielādēt lielu izgāztuvi, izmantojot to, jūs, iespējams, nevarēsit augšupielādēt to atpakaļ.

Sāksim ar izgāztuvju izveidi; šiem nolūkiem tiek izmantota utilīta mysqldump, kuras sintakse seko sintaksei mysqlcheck. Lai lejupielādētu izgāztuvi, izmantojiet komandu:

Mysqldump -u sakne -p andrey_drupal8 > ~/drupal8.sql

Lai vienlaikus izlādētu vairākas datu bāzes, izmantojiet taustiņu -- datu bāzes vai -- visas datu bāzes lai izveidotu visu datu bāzu izgāztuvi vienlaikus. Komandas izvade jānosūta uz failu un jānorāda tā atrašanās vieta, mūsu gadījumā tas ir fails drupal8.sql savā mājas direktorijā. Varat arī nosūtīt izvadi uz arhivētāju un nekavējoties saņemt arhīvu:

Mysqldump -u sakne -p andrey_drupal8 | gzip > ~/drupal8.sql.gz

Kopumā mēs neiesakām izmantot vienu izgāztuvi vairākām datu bāzēm vienlaikus; labākais risinājums būtu katrai datubāzei sava izgāzve, vienlaikus izmantojot atslēgu. -- visas datu bāzes attaisnojams gadījumos, kad ātri jāizveido visa servera rezerves kopija, piemēram, atjauninot vai pārinstalējot DBVS, lai varētu ātri atjaunot informāciju, ja kaut kas noiet greizi.

Lai atjaunotu datu bāzi, jums ir jānosūta izgāze uz mysql utilīta ievadi; atsevišķām izgāztuvēm vienmēr jānorāda mērķa datu bāze, piemēram:

Mysql -u sakne -p andrey_drupal8< ~/drupal8.sql

Galamērķim nav obligāti jābūt avota datubāzei, taču ņemiet vērā: ja datu bāze jau pastāv, viss tās saturs tiks aizstāts ar izgāztuves saturu.

Ja izgāztuves satur vairāk nekā vienu datu bāzi, vienkārši norādiet:

Mysql -u sakne -p< ~/all.sql

Šajā gadījumā katra datu bāze tiks ielādēta savā avotā; ja avota datubāze neeksistē, tā tiks izveidota.

Kā redzat, izgāztuves izveide un atjaunošana, izmantojot komandrindu, notiek burtiski vienā rindā un ir daudz vienkāršāka un ātrāka nekā phpMyAdmin vai līdzīgu rīku izmantošana.

Aizmirstas MySQL root paroles atkopšana

Vēl viens ļoti populārs uzdevums. Uzreiz teiksim, ka MySQL superlietotāja paroli, tāpat kā jebkuram citam lietotājam, nav iespējams atgūt, taču to var mainīt. Lai to izdarītu, jums ir jābūt superlietotāja tiesībām uz operētājsistēmu. Vispirms apturēsim DBVS pakalpojumu:

Serviss mysql stop

Pēc tam mēs to palaižam drošajā režīmā, izlaižot privilēģiju tabulas:

Mysqld_safe -- izlaist grantu tabulas un

Lūdzu, ņemiet vērā, ka pēc šīs komandas izpildes komandrindas uzvedne pazudīs, atstājot tikai mirgojošu kursoru. Mēs rakstām tieši tur:

Mysql -u sakne

un mēs atrodamies mysql vidē ar root tiesībām, neievadot paroli.

Mums šķiet, ka daudzi jau ir uzminējuši, ko darīt tālāk, bet uzstādīt paroli tas nedarbosies šajā režīmā, tāpēc jums ir jāiet cits ceļš. Atcerieties, ka informācija par lietotājiem tiek glabāta tabulā lietotājs pakalpojumu datu bāze mysql. Pēc tam izpildām šādu vaicājumu:

Atjaunināt mysql.user set password = parole ("newpassword"), kur user="root";

Svarīgs! Jaunajās MySQL versijās kolonnas vietā parole tabulas lietotājs tiek izmantota kolonna autentifikācijas_virkne, tā vietā uzstādīt paroli jānorāda iestatīt autentifikācijas_virkni.

Šis pieprasījums iestatīs jaunu paroli jauna parole visām kolonnas rindām lietotājs kas ir uzskaitīti sakne.

Atjaunināsim privilēģiju kešatmiņu:

Flush privilēģijas;

Izejam no režīma:

Apturēsim pakalpojumu un palaidīsim to parastajā režīmā:

Serviss mysql stop
pakalpojuma mysql sākums

Mēs ceram, ka pēc šī raksta izlasīšanas jūs iegūsit sākotnējās prasmes darbā ar MySQL no komandrindas un varēsiet justies pārliecināti pat tad, kad phpMyAdmin nav pieejams, un, iespējams, pat novērtēsiet konsoles komandu ērtības un būs mazāka iespēja iekļūt paneli, dodot priekšroku tiešai servera pārvaldībai.

  • Tagi:

Lūdzu, iespējojiet JavaScript, lai skatītu

Pieņemsim, ka viss jau ir instalēts, un tagad mēs ķersimies pie darba.
Savienojamies:
ceval@srv:~$ mysql -pPASSWORD
-p, --parole=— lietotāja parole, lai izveidotu savienojumu ar MySQL serveri. Starp -p un paroli nedrīkst būt atstarpes.
-u, --lietotājs=- Lietotājvārds, lai izveidotu savienojumu ar MySQL serveri. Neobligāti, noklusējuma vērtība ir tāda pati kā jūsu pieteikšanās. Tiek izmantota, ja pieteikšanās atšķiras no lietotājvārda, lai izveidotu savienojumu ar MySQL serveri.
$ mysql -u ceval_ -pPASSWORD
Ja mēs ievadījām savu paroli pareizi, mēs redzēsim šādas rindas un uzvednes:

Laipni lūdzam MySQL monitorā. Komandas beidzas ar ; vai\g.
Servera versija: 5.0.45-Debian
Lai saņemtu palīdzību, ierakstiet “help;” vai “\h”. Ierakstiet “\c”, lai notīrītu buferi.
mysql>

Mēs izveidojam mums nepieciešamo datu bāzi ar cp1251 kodējumu; norādīto kodējumu var aizstāt ar nepieciešamo:
IZVEIDOT DATU BĀZI db_nosaukums NOKLUSĒJUMA CHARACTER SET cp1251 DEFAULT COLLATE cp1251_general_ci;
Datu bāzes noņemšana:
DROP DATABASE db_name;
Bāzes maiņa
IZMANTOT `mydatabase`;
Tabulas noņemšana no datu bāzes
NOMET TABULU `db_table`;
Mazliet vairāk:
->\g parādīt datu bāzes; // paskaties kādas tur datu bāzes
->\g izveidot datu bāzes satelītu; // izveidot jaunu datu bāzi
->\g parādīt datu bāzes; // pārbaudiet, vai tas ir izveidots
->\q // Iziet

Dažādām MySQL versijām var būt dažādas komandas (4 un 5) šajā gadījumā \g - komandē serverim izpildīt SQL skriptu
MySQL datu bāzes ielāde, saglabāšana (dublēšana, atjaunošana), strādājot ar mysql ubuntu
Ielādējiet datu bāzi ar saglabātajiem datiem (ja dati tika saglabāti). Tie tiek saglabāti, piemēram, failā baza.sql
mysql
->\g parādīt datu bāzes;
->\u baza;
->\. /home/backup/baza.sql
->\q
/home/backup/baza.sql — ceļš uz dublējuma failu
[b]Saglabājiet datu bāzi ar datiem failā baza.sql
mysqldump baza > /home/backup/baza.sql;
Datu bāze tiek glabāta: /var/lib/mysql/baza- Lai izdzēstu visu datu bāzi, pietiek ar šī direktorija dzēšanu.
Var veikt dažādos veidos:
— izveidot savienojumu caur ssh un strādāt caur komandrindu;
- izmantot phpmyadmin;
- izmantojiet mysql-admin pakotni - šī ir grafiskā MySQL administrēšanas utilīta (GUI rīks intuitīvai MySQL administrēšanai
MySQL)
Tagad instalēsim pakotni mysql-admin uz automašīnu
sudo aptitude instalējiet mysql-admin
Tālāk mēs pārejam uz attālo mašīnu un rediģējam [b]my.cnf konfigurāciju
$ sudo nano /etc/mysql/my.cnf
Lai sāktu, varat pārbaudīt:
$ netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* KLAUSIES
Kā redzat no izvades, MySQL pašlaik klausās vietnē localhoste, taču mums ir nepieciešams MySQL, lai klausītos visās saskarnēs, nevis tikai localhost, tāpēc mēs atrodam un rediģējam šādu ierakstu:

[...]
# Tā vietā, lai izlaistu tīklu, tagad noklusējuma funkcija ir klausīties tikai
# localhost, kas ir vairāk saderīgs un nav mazāk drošs.
saistīšanas adrese = 127.0.0.1
#
[...]

un lai MySQL klausītos visās saskarnēs, komentēsim šo rindiņu:
[...]

#bind-address = 127.0.0.1:

[...]
Apturēsim MySQL:
$ sudo /etc/init.d/mysql restart
Un vēlreiz apskatīsim komandas izvadi:
$ netstat -an | grep 3306
Izvadei vajadzētu izskatīties šādi:

tcp 0 0 0.0.0.0:3306 0.0.0.0:* KLAUSIES

un tagad varat palaist mysql-admin, lai strādātu attālināti ar MySQL - Alt+F2 - mysql-admin
vai
$mysql-admin
strādāju ar mysql ubuntu

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

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, privilēģiju atjaunināšana:

# mysql -u root -p mysql izmantot mysql; mysql piešķirt lietojumu *.* 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");