Linux naredba mysql

naredba mysql

The mysql naredba je jednostavna ljuska za SQL naredbe. Uz korisničku interakciju, on može unositi naredbe na posebnom odzivu ili pokretati batch skriptu koja sadrži vaše SQL naredbe.

Opis

Kada mysql koristi se interaktivno, rezultati upita su predstavljeni u obliku tablice. Kada se koristi neinteraktivno, rezultat se prikazuje u tab -odvojeni format. The izlaz format se može promijeniti pomoću naredbenih opcija.

Najjednostavniji način pozivanja mysql je navođenje vašeg MySQL korisničkog imena pomoću -u opciju i reći mysql da biste od vas zatražili lozinku -str :

mysql -u  username  -p

Prikazuje vam se kratka uvodna poruka, a zatim se smješta na mysql> potaknuti.

Na mysql> unesite naredbe MySQL, poput:

moj kursor se nije pomaknuo
  mysql>  SHOW DATABASES;

Za popis postojećih baza podataka ili:

  mysql>  USE  dbname  ;

... da započnemo koristiti bazu podataka s imenom dbname , ili:

  mysql>  SELECT 21 * 2 AS meaning_of_life;

... za prikaz matematičkog proizvoda dva i dvadeset i jedan .

Za kraj vašeg mysql sesiju i vratite se u ljusku, upotrijebite naredbu:

pronaći ip adresu pisača
  mysql>  QUIT

Pokretanje MySQL naredbi iz batch skripte

Umjesto da koristi mysql interaktivno možete izvršavati MySQL izraze iz a skripta datoteka. Na primjer, ako imate naziv tekstualne datoteke mysqlscript.txt koji sadrže MySQL naredbe, po jednu u retku, mogli biste koristiti ovu naredbu:

mysql -u  username  -p  db_name  output.txt

... i nakon što zatražite lozinku, mysql izvršavao bi naredbe u mysqlscript.txt na bazi podataka db_name , zapisivanje rezultata u datoteku izlaz.txt .

Za detaljan opis načina instaliranja MySQL na vaš sustav i pregled osnovne interaktivne upotrebe mysql , vidi uvod u MySQL .

Sintaksa

mysql [  options  ]  db_name  

Opcije

mysql podržava sljedeće mogućnosti koje se mogu specificirati na naredbeni redak ili u [mysql] i [klijent] grupe datoteke s opcijama.

--Pomozite, -? Prikažite poruku pomoći i izađite.
--auto-rehash Omogući automatsko ponovno uhapšavanje. Ova je opcija prema zadanim postavkama uključena, što omogućuje popunjavanje naziva baze podataka, tablice i stupca. Koristiti --disable-auto-rehash da biste onemogućili ponovno usredotočivanje. To uzrokuje mysql za brži početak, ali morate izdati ponoviti naredba ako želite koristiti dovršavanje imena.

Da biste dovršili ime, unesite prvi dio i pritisnite Tab . Ako je ime jednoznačno, mysql dovršava ga. U suprotnom, možete ponovo pritisnuti Tab da biste vidjeli moguća imena koja počinju s onim što ste do sada upisali. Dovršenje se ne događa ako ne postoji zadana baza podataka.
--auto-vertikalni izlaz Uzrok je da se skupovi rezultata prikazuju okomito ako su preširoki za trenutni prozor, a inače upotrebljavaju uobičajeni tabelarni format. (To se odnosi na izjave koje je prekinuo ; ili G .) Ova je opcija dodana u MySQL 5.5.3.
- šarža, -B Ispišite rezultate pomoću kartice kao separatora stupaca, sa svakim retkom na novom retku. Uz ovu opciju, mysql ne koristi datoteku povijesti. Skupni način rada rezultira netabularnim izlaznim formatom i izbjegavanjem posebnih znakova. Izbjegavanje se može onemogućiti u sirovom načinu rada; pogledajte opis za - sirovo opcija.
--bind-adresa = IP adresa Na računalu s više mrežnih sučelja, ova opcija može odabrati koje će se sučelje koristiti prilikom spajanja na MySQL poslužitelj. Ova je opcija podržana samo u verziji mysql klijenta koji se isporučuje s MySQL klasterom. Nije dostupan u standardnim izdanjima MySQL Server 5.5.
--character-sets-dir = staza Direktorij u kojem su instalirani skupovi znakova.
--nazivi stupaca U rezultate upišite nazive stupaca.
--column-type-info, -m Prikaži skup rezultata metapodaci .
--komentar, -c Da li sačuvati komentari u izjavama koje se šalju poslužitelju. Zadana vrijednost je --skip-komentari (odbaci komentare), omogući s --komentara (sačuvati komentare).
--kompres, -C Sažimanje svih podataka poslanih između klijenta i poslužitelju ako oboje podržavaju kompresiju.
--database = db_name ,
-D db_name
Baza podataka koju treba koristiti. Ova je sklopka korisna prvenstveno u datoteci opcija.
- otklanjanje pogrešaka [ = opcije otklanjanja pogrešaka ],
- # [ opcije otklanjanja pogrešaka ]
Napišite zapisnik za otklanjanje pogrešaka. Tipičan opcije otklanjanja pogrešaka niz je ' d: t: o, ime_datoteke '. Zadana vrijednost je ' d: t: o, / tmp / mysql.trace '.
- provjera pogrešaka Ispišite neke informacije o otklanjanju pogrešaka kad se program zatvori.
--debug-info, -T Ispis podataka o otklanjanju pogrešaka i memorija i CPU statistika upotrebe kada se program zatvori.
--default-auth = uključiti Klijentski dodatak za provjeru autentičnosti koji se koristi.

Ova je opcija dodana u MySQL 5.5.7.
--default-set-znakova = naziv_znaka Koristiti naziv_znaka kao zadani skup znakova za klijenta i vezu.

Uobičajena poteškoća koja se javlja kada operativni sustav koristi utf8 ili neki drugi višebajtni skup znakova je da je izlaz iz mysql klijenta pogrešno formatiran, jer taj MySQL klijent prema zadanim postavkama koristi skup znakova latin1. Takve probleme obično možete riješiti pomoću ove opcije da prisilite klijenta da umjesto toga koristi sistemski skup znakova.
--delimiter = str Postavite izjavu graničnik . Zadani je znak sa zarezom (' ; ').
--disable-named-naredbe Onemogućite imenovane naredbe. Koristiti * samo obrazac ili koristite imenovane naredbe samo na početku retka koji završava točkom i zarezom (' ; '). Naredba mysql započinje s ovom opcijom koja je omogućena prema zadanim postavkama. Međutim, čak i s ovom opcijom, naredbe dugog formata i dalje rade iz prvog retka.
--enable-cleartext-plugin Omogućite mysql_clear_password autentičnost jasnog teksta uključiti . Ova je opcija dodana u MySQL 5.5.27.
--izvršiti = izjava ,
-je izjava
Izvršite izjavu i napustite. Zadani izlazni format je kao onaj proizveden s - serija . Uz ovu opciju, mysql ne koristi datoteku povijesti.
- sila, -f Nastavite čak i ako se dogodi SQL pogreška.
--host = host_name ,
-h host_name
Povežite se s MySQL poslužiteljem na danom hostu.
--html, -H Proizvodi HTML izlaz.
--ignore-prostori, -i Zanemari razmake nakon imena funkcija. Učinak ove sklopke opisan je u raspravi za IGNORE_SPACE SQL način rada.
--init-command = str SQL izraz koji treba izvršiti nakon povezivanja s poslužiteljem. Ako je omogućeno automatsko ponovno povezivanje, naredba se ponovno izvršava nakon što se dogodi ponovno povezivanje.
- linijski brojevi Upišite brojeve redaka zbog pogrešaka. Onemogući ovo pomoću - skok-linija-brojevi .
--local-infile [ = 0 ] Omogući ili onemogući LOKALNO sposobnost za UČITAJ Datoteku podataka . Bez vrijednosti, opcija omogućuje LOKALNO . Opcija se može dati kao --local-infile = 0 ili --local-infile = 1 da izričito onemogući ili omogući LOKALNO . Omogućavanje LOKALNO nema učinka ako ga poslužitelj također ne podržava.
--naim-naredbe, -G Omogući imenovano mysql naredbe. Uz naredbe kratkog formata dopuštene su naredbe dugog formata. Na primjer, prestati i q obje su prepoznate. Koristiti --skip-named-naredbe da onemogućite imenovane naredbe.
--no-auto-rehash, -A Ovo ima isti učinak kao -skip-auto-rehash . Pogledajte opis za --auto-rehash .
--no-bip, -b Ne oglašavajte se zvukom kad se pojave pogreške.
--no-named-naredbe, -g Zastarelo, koristite --disable-named-naredbe umjesto toga . --no-named-naredbe je uklonjen u MySQL 5.5.3.
--nopager Zastarjeli oblik --skip-pager . Pogledajte --pager opcija. --nopager je uklonjen u MySQL 5.5.3.
--no-tee Zastarjeli oblik --skip-tee . Pogledajte - dijete opcija. --no-tee uklanja se u MySQL 5.5.3.
--jedan-baza podataka, -o Zanemari izraze, osim onih koji se javljaju dok je zadana baza podataka ona imenovana u naredbenom retku. Ova je opcija osnovna i treba je koristiti pažljivo. Filtriranje izjava temelji se samo na KORISTITI izjave.

U početku, mysql izvršava izraze na ulazu jer specificira bazu podataka db_name na naredbenom retku ekvivalentno je umetanju KORISTI db_name na početku unosa. Zatim, za svaku KORISTITI izjava naišla, mysql prihvaća ili odbija sljedeće izjave, ovisno o tome je li imenovana baza podataka ona na naredbenom retku. Sadržaj izjava nije važan.

Pretpostavljam da mysql poziva se za obradu ovog skupa izjava:

DELETE FROM db2.t2;USE db2;DROP TABLE db1.t1;CREATE TABLE db1.t1 (i INT);USE db1;INSERT INTO t1 (i) VALUES(1);CREATE TABLE db2.t1 (j INT);
Ako je naredbeni redak mysql --force --one-baza podataka db1 , mysql obrađuje ulaz na sljedeći način:

The IZBRISATI naredba se izvršava jer je zadana baza podataka db1 , iako izjava imenuje tablicu u drugoj bazi podataka.

The KAPA STOL i IZRADI TABELU izrazi se ne izvršavaju jer zadana baza podataka nije db1, iako izrazi imenuju tablicu u db1.

The UMETNUTI i IZRADI TABELU izrazi se izvršavaju jer je zadana baza podataka db1, iako je IZRADI TABELU naredba imenuje tablicu u drugoj bazi podataka.
--pager [ = naredba ] Upotrijebite zadanu naredbu za izlaz straničnog upita. Ako je naredba izostavljena, zadani dojavljivač je vrijednost vašeg PAGER-a varijabla okoline . Važeći dojavljivači su manje , više , mačka [ > naziv datoteke ], i tako dalje. Ova opcija radi samo na Unixu i samo u interaktivnom načinu. Za onemogućavanje straničenja upotrijebite --skip-pager . Vidjeti MySQL naredbe za više informacija o izlaznom straničenju.
--zaporka [ = zaporka ],
-str [ zaporka ]
The zaporka za upotrebu prilikom povezivanja s poslužiteljem. Ako koristite kratki obrazac opcije ( -str ), ne možete imati razmak između opcije i lozinke. Ako izostavite vrijednost lozinke nakon --zaporka ili -str opcija na naredbenom retku, mysql traži jedan.

Navođenje lozinke u naredbenom retku trebalo bi smatrati nesigurnim. Datotekom opcija možete izbjeći davanje lozinke u naredbenom retku.
--cijev, -W U sustavu Windows povežite se s poslužiteljem pomoću imenovane cijevi. Ova se opcija odnosi samo ako poslužitelj podržava veze imenovane cijevi.
--plugin-dir = staza Direktorij gdje potražiti dodatke. Možda će biti potrebno navesti ovu opciju ako --default-auth opcija se koristi za određivanje dodatka za provjeru autentičnosti, ali mysql ga ne pronalazi.

Ova je opcija dodana u MySQL 5.5.7.
--port = broj_luke ,
-P broj_luke
The TCP / IP luka broj koji ćete koristiti za vezu.
--prompt = format_str Postavite upit na navedeni format. Zadana vrijednost je mysql> . Posebne sekvence koje sadrži upit opisane su u MySQL naredbe odjeljak.
--protokol = TCP Veza protokol za povezivanje s poslužiteljem. Korisno je kada bi drugi parametri veze obično uzrokovali upotrebu protokola koji nije onaj koji želite.
--brz, -q Nemojte predmemorirati svaki rezultat upita; ispisati svaki redak kako je primljen. To može usporiti poslužitelj ako je izlaz obustavljen. S ovom opcijom mysql ne koristi datoteku povijesti.
- sirovo , -r Za tablični izlaz, 'boksiranje' oko stupaca omogućuje razlikovanje vrijednosti jedne kolone od druge. Za netabularni izlaz (kakav se proizvodi u šaržnom načinu ili kada - serija ili - tiho opcija), posebni znakovi se izbjegavaju u izlazu kako bi ih se moglo lako prepoznati. Nova linija , tab, NUL i kosa crta napisani su kao n , t , 0 , i \ . The - sirovo opcija onemogućuje bijeg ovog znaka.

Sljedeći primjer pokazuje tabelarni nasuprot netabularnog izlaza i upotrebu neobrađenog načina za onemogućavanje bijega:

mysql
  mysql>  SELECT CHAR(92);
+----------+| CHAR(92) |+----------+|  |+----------+
mysql -s
  mysql>  SELECT CHAR(92);
CHAR(92)\
mysql -s -r
  mysql>  SELECT CHAR(92);
CHAR(92)
--ponovno se poveži Ako se veza s poslužiteljem izgubi, pokušajte se automatski ponovo povezati. Pokušaj ponovnog povezivanja obavlja se svaki put kad se veza izgubi. Da biste suzbili ponašanje ponovnog povezivanja, upotrijebite - preskoči-ponovno poveži .
--sigurna ažuriranja,
- ja-am-a-lutka,
-U
Dopustite samo one naredbe UPDATE i DELETE koje određuju koje će redove mijenjati pomoću vrijednosti ključeva. Ako ste ovu opciju postavili u datoteku opcija, možete je nadjačati pomoću --safe-updates na naredbenom retku.
--secure-auth Ne šaljite lozinke na poslužitelj u starom (pre-4.1.1) formatu. To sprječava veze, osim za poslužitelje koji koriste noviji format lozinke.
- show-upozorenja Uzrok da se upozorenja prikazuju nakon svake izjave, ako postoje. Ova se opcija odnosi na interaktivni i batch način rada.
--sigint-ignore Zanemari SIGINT signali (obično rezultat tipkanja Control + C).
- tiho, -s Nečujni način. Dajte manje rezultata. Ova se opcija može dati više puta kako bi se proizveo sve manje i manje rezultata.

Ova opcija rezultira netabularnim izlaznim formatom i izbjegavanjem posebnih znakova. Izbjegavanje se može onemogućiti u sirovom načinu rada; pogledajte opis za - sirovo opcija.
--skip-imena-stupaca, -N Ne zapisujte imena stupaca u rezultate.
- brojevi za preskakanje linija, -L Ne pišite brojeve redaka zbog pogrešaka. Korisno kada želite usporediti datoteke rezultata koje uključuju poruke o pogreškama.
--socket = staza , -S staza Za veze s localhostom, datotekom Unix utičnice koja se koristi ili na sustavu Windows, naziv imenovane cijevi za upotrebu.
--ssl * Opcije koje počinju s --ssl određuju treba li se povezati s poslužiteljem pomoću SSL-a i naznačiti gdje pronaći SSL ključeve i certifikate.
--table, -t Prikaži izlaz u formatu tablice. Ovaj je prekidač zadani za interaktivnu upotrebu, ali može stvoriti izlaz tablice u batch načinu.
--tee = ime_datoteke Dodajte kopiju rezultata u zadanu datoteku. Ova opcija radi samo u interaktivnom načinu. Odjeljak pod nazivom 'MYSQL naredbe', dalje raspravlja o tee datotekama.
--nebuferiran, -n Isperite međuspremnik nakon svakog upita.
--korisnik = Korisničko ime ,
-u Korisničko ime
MySQL korisničko ime za korištenje prilikom povezivanja s poslužiteljem.
--glasen, -v Opširni način. Dajte više rezultata o tome što program radi. Ovu se opciju može dati više puta kako bi se proizveo sve više i više rezultata. (Na primjer, -v -v -v stvara izlazni format tablice čak i u batch načinu.)
--verzija, -V Prikažite podatke o verziji i izađite.
- vertikalno, -E Ispiši redove izlaznih upita upita (jedan redak po vrijednosti stupca). Bez ove opcije možete odrediti vertikalni izlaz za pojedinačne izraze završavanjem s G .
- čekaj, -w Ako se veza ne može uspostaviti, pričekajte i pokušajte umjesto da prekinete.
--xml, -X Stvoriti XML izlaz. Pogledajte mysql priručnik za više informacija.

MySQL naredbe

mysql šalje svaki SQL izraz koji izdate poslužitelju na izvršenje. Imajte na umu da sve tekstualne naredbe prvo moraju biti mrežne i završiti s ' ; '.

Postoji i niz naredbi koje mysql sam tumači. Za popis tih naredbi upišite help ili h na mysql> potaknuti:

? ( ? ) Sinonim za 'pomoć'.
čisto ( c ) Jasna naredba.
Spojiti ( r ) Ponovno se povežite s poslužiteljem. Neobvezni argumenti su db i host.
graničnik ( d ) Postavi graničnik iskaza.
Uredi ( je ) Naredba za uređivanje pomoću programa $ EDITOR.
ego ( G ) Pošalji naredbu na mysql poslužitelj, prikaži rezultat okomito.
Izlaz ( q ) Izlaz iz mysql. Isto kao i prestati.
ići ( g ) Pošaljite naredbu na mysql poslužitelj.
Pomozite ( h ) Prikaži ovu pomoć.
nopager ( n ) Onemogući dojavljivač, ispiši u stdout.
notee ( t ) Ne pišite u outfile.
dojavljivač ( P ) Postavite PAGER [na_pager]. Ispišite rezultate upita putem stranice PAGER.
ispis ( str ) Ispis trenutne naredbe.
potaknuti ( R ) Promijenite mysql upit,
prestati ( q ) Zatvori mysql.
ponoviti ( # ) Obnovi hash završetka.
izvor ( . ) Izvršite datoteku SQL skripte. Uzima naziv datoteke kao argument.
status ( s ) Dohvatite informacije o statusu s poslužitelja.
sustav ( ! ) Izvršite naredbu sistemske ljuske.
tee ( T ) Postavite outfile [na_outfile]. Dodajte sve u zadanu datoteku.
koristiti ( u ) Koristite drugu bazu podataka. Uzima naziv baze podataka kao argument.
charset ( C ) Prebacite se na drugi charset. Možda će vam trebati za obradu binloga s višebajtnim znakovima.
upozorenja ( U ) Prikaži upozorenja nakon svake izjave.
prijeteći ( u ) Ne pokazujte upozorenja nakon svake izjave.

Primjeri

Detaljan opis instalacije MySQL-a i pregled osnovnih naredbi potražite u Uvod u MySQL .

Slijedi nekoliko drugih značajnih naredbi:

mysqldump -u hope -p -h localhost hope_SMF > smf.sql

Izrada sigurnosne kopije baze podataka ' nada_SMF ' prema smf.sql datoteku nakon provjere korisničkog imena i lozinke.

Java ne otvara jar datoteke
  mysql>  status

Trčanje status dok je na mysql> prompt će vam dati rezultate MySQL statusa slične onome što je prikazano u nastavku.

-------------- mysql Ver 14.14 Distrib 5.5.35, for debian-linux-gnu (i686) using readline 6.2 Connection id: 42 Current database: Current user: [email protected] SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.35-0ubuntu0.13.10.2 (Ubuntu) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/run/mysqld/mysqld.sock Uptime: 2 hours 3 min 4 sec Threads: 1 Questions: 577 Slow queries: 0 Opens: 421 Flush tables: 1 Open tables: 41 Queries per second avg: 0.078 --------------

myisamchk - Provjerite, popravite, optimizirajte ili dohvatite podatke o MySQL bazi podataka.
mysqldump - Alat za izradu sigurnosnih kopija ili prijenos MySQL baza podataka.