Ghidul de referință Mysql

4.8.2. MySQL. Command Line Utility

Utilitarul pentru linia de comandă mysql este un shell simplu SQL (cu capacitățile bibliotecii GNU readline). Acceptă moduri interactive și non-interactive. În modul interactiv, rezultatele interogării sunt reprezentate în format ASCII. Atunci când este utilizat în modul interactiv (de exemplu, ca un filtru) pare să rezulte într-un format de text dintr-o filă ca separator (format de ieșire poate fi modificat cu parametrii de linie de comandă). Puteți rula scripturile după cum se arată mai jos:

Dacă aveți probleme din cauza lipsei de memorie pentru acest client, utilizați opțiunea --quick. Acest lucru va face funcție de utilizare MySQL mysql_use_result (), mai degrabă decât mysql_store_result () pentru a obține rezultatul de date set.

Este foarte ușor să utilizați mysql. Porniți baza de date mysql sau mysql --user = numele utilizatorului - password = datele dvs. de bază de date e. Tastați comanda SQL direct pe linia de comandă, terminând-o cu unul dintre următoarele caractere: '; ',' \ g 'sau' \ G 'și apăsați tasta `` Enter' '.

Utilitarul de linie de comandă mysql acceptă următoarele opțiuni:

Afișează informații de ajutor despre utilizarea programului și ieșirea acestuia.

Dezactivează repetarea automată. rehash ar trebui să fie folosit pentru a obține un hash de tabele și câmpuri. Acest lucru oferă un început mai rapid la mysql.

Setează promptul pentru a introduce comenzi în formatul specificat.

Se dezactivează buzzer-ul pentru o eroare.

Rezultă rezultatele în modul lot, cu un caracter tabel ca separator, fiecare rând cu o linie nouă. Fișierul istoric nu este utilizat.

Directorul unde se află seturile de caractere.

Utilizați compresia datelor în protocolul server / client.

Debug log. Valoarea implicită este 'd: t: o, / tmp / mysql.trace'.

Numele bazei de date de utilizat. Cele mai utilizate în fișierul de configurare my.cnf.

Setați setul de caractere implicit.

Executați comanda și terminați programul (ieșiți rezultatul ca pentru - batch).

Rezulta rezultatele verbale (rânduri). Puteți ieși în acest mod fără acest parametru, terminând comenzile cu caracterele \ G.

Continuați procesarea chiar dacă este detectată o eroare SQL.

Dezactivează comenzile numite. Utilizați numai comenzile formularului \ * sau utilizați comenzi numite numai la începutul liniei, terminând cu '; “. Începând cu versiunea 10.9, clientul pornește cu această opțiune activată în mod implicit! Cu opțiunea -g. totuși, comenzile lungi funcționează încă din prima linie.

Permite comenzilor numite. Sunt permise comenzi lungi, precum și comenzi trunchiate ale formulei \ *.

Ignorați spațiul după numele funcțiilor.

Conectați-vă la baza de date de pe gazda specificată.

Efectuați ieșirea ca HTML.

Efectuați ieșirea ca XML.

Nu specificați numerele de linie pentru erori. Util pentru compararea fișierelor rezultate, inclusiv a mesajelor de eroare.

Se blochează pagerul (programul de ieșire pager) și iese rezultatul la ieșirea standard stdout (pe Unix). Consultați și comanda \ h (ajutor online).

Blochează fișierul de ieșire. Consultați și comanda \ h (ajutor online).

Goliți tamponul după fiecare solicitare.

Nu specificați numele de coloane în rezultate.

-O, - setarea variabilei var = opțiune

Setați valoarea variabilei. Lista variabilelor utilizate este afișată prin intermediul --help. Rețineți că variabila -set nu este folosită în MySQL 4.0. Folosiți doar --var = opțiune.

Actualizați numai baza de date implicită. Vă permite să ignorați actualizarea unei alte baze de date în jurnalul de actualizare.

Setează tipul de date de ieșire. În mod implicit, aceasta este variabila de mediu PAGER. Valorile sale posibile sunt mai puține, mai mult, cat [> nume fișier], etc. Consultați și comanda \ h (ajutor online). Această opțiune nu funcționează în modul lot. Pagerul funcționează numai în Unix.

Parola utilizată la conectarea la serverul de bază de date. Dacă parola nu este specificată pe linia de comandă, aceasta este solicitată de la utilizator. Când utilizați forma scurtă -p, nu lăsați un spațiu între parametru și valoarea parolei.

-Portul P, portul = port

Numărul de port TCP / IP utilizat pentru conexiune.

--protocol = (TCP | SOCKET | PIPE | MEMORY)

Pentru a specifica protocolul de conexiune care urmează să fie utilizat. Inovație în MySQL 4.1.0.

Nu arhivează rezultatul. Ieșiți-l liniar după cum vine de la server. Acest lucru poate încetini viteza serverului dacă ieșirea rezultatului este suspendată. Fișierul istoric nu este utilizat.

Afișați valorile coloanelor fără nicio conversie. Se utilizează cu - batch.

Mod silențios. Afișați numai mesaje de eroare.

Fișierul socket folosit pentru conectare.

Rezulta rezultatul intr-un format de tabel. Este setat implicit pentru modul non-pachet.

Ieșiți câteva date de depanare la ieșirea din program.

Atașați ceva la fișierul de ieșire. Consultați și comanda \ h (ajutor online). Această opțiune nu funcționează în modul lot.

Numele de utilizator MySQL, dacă acest utilizator nu este activ în acest moment.

-U, --safe-updates [= #], --i-am-a-dummy [= #]

Permite doar operațiile UPDATE și DELETE. folosind tastele. Mai multe informații despre acest parametru sunt prezentate mai jos. Puteți restabili acest parametru prin setarea valorii argumentului --safe-updates = 0 în fișierul de configurare my.cnf.

Mod de ieșire mai avansat (-v -v -v dă formatul de ieșire al tabelului).

Ieșiți informațiile de versiune și ieșiți din program.

Dacă conexiunea la server a scăzut, așteptați și încercați să o restaurați, în loc să întrerupeți lucrarea.

Prin parametrii liniei de comandă -O sau -set-variable (în MySQL 4.0, folosiți doar --var = opțiune), puteți seta și următoarele variabile:

Dacă introduceți ajutor pe linia de comandă. programul mysql va lista comenzile suportate:

Comanda pager funcționează numai pe Unix.

Comanda de stare oferă informații despre conexiunea curentă și despre serverul utilizat. Dacă rulați în modul -safe-updates. Comanda de stare afișează de asemenea valorile variabilelor pentru mysql. care afectează cererile dvs.

Pentru începători, vă recomandăm să utilizați programul mysql cu parametrul (introdus în MySQL 3.23.11) --safe-actualizări (sau --i-am-o-dummy pentru utilizatorii care tergeți de nume_tabelă. Dar a uitat să precizeze argumentele în WHERE). În acest caz, mysql trimite următoarea comandă la serverul MySQL când este stabilită conexiunea:

unde # select_limit # și # max_join_size # sunt variabile care pot fi setate din linia de comandă mysql. Consultați secțiunea 5.5.6, "Sintaxa comenzii SET".

Rezultatul este următorul:

Nu este permisă executarea comenzilor UPDATE sau DELETE. Dacă nu sunt specificate constrângeri cheie în clauza WHERE. Cu toate acestea, puteți forța comanda UPDATE / DELETE să ruleze. utilizând instrucțiunea LIMIT.

Rezultatele prea mari sunt limitate la liniile # select_limit #.

SELECT s, care poate necesita pentru execuție numărul de combinații de linii mai mari de # max_join_size #. va fi întrerupt.

Unele sfaturi utile pentru utilizarea clientului mysql.

Pentru logare, puteți utiliza opțiunile comenzii tee. Se poate porni cu parametrul --tee =. pentru mysql sau interactiv din linia de comandă prin introducerea comenzii tee. Toate datele prezentate pe ecran vor fi, de asemenea, adăugate la fișierul specificat. Acest lucru poate fi foarte util pentru depanare. Utilitarul tee poate fi blocat din linia de comandă cu comanda notee. Repornirea comenzii tee va reactiva activarea jurnalului. Dacă parametrul pentru comanda tee nu este specificat, va fi utilizat fișierul anterior. Rețineți că comanda tee va scrie rezultatele într-un fișier după fiecare comandă care este executată, chiar înainte ca linia de comandă să apară pentru a intra în următoarea comandă.

Câteva sfaturi despre comanda pager.

Acesta poate fi folosit pentru a scrie într-un fișier:

iar rezultatele vor fi trimise numai în dosar. Programele numite de comanda pager pot accepta orice opțiuni valide:

În concluzie, notați (dacă nu ați înțeles încă din exemplele anterioare :) că este posibil să combinați modalități foarte complexe de procesare a rezultatelor. Astfel, în exemplul de mai jos, rezultatele vor fi trimise la două directoare diferite care sunt montate pe două hard disk-uri diferite în / DR1 și / DR2, și în ciuda acestui fapt, rezultatele pot fi văzute pe ecran prin comanda less:

Funcțiile de mai sus pot fi, de asemenea, combinate: prin activarea teiului și setarea pagerului la mai puțin. Puteți vizualiza rezultatele utilizând comanda Unix mai mică și scrieți simultan fișierul. Diferența dintre tee-ul utilitarului Unix utilitar. utilizate în programul pager. și construit în comanda mysql client tee este că încorporat tee comandă funcționează chiar dacă utilitarul pe Unix tee disponibile. Comanda built-in tee înregistrează tot ce este afișat, în timp ce utilitarul tee Unix. folosit cu pager. nu o face în volum suficient. Nu în ultimul rând, este că echipa tee interactiv este mai convenabil pentru a comuta modurile de pornit / oprit, dacă este necesar, uneori intrarea în fișierul pentru a dezactiva această funcție.

Începând cu MySQL 4.0.2, puteți schimba formatul invitației din linia de comandă a clientului mysql.

Sunt posibile următoarele opțiuni de invitare: