Izvoz baze podataka (PHPMyAdmin). Uvoz SQL datoteka u MySQL baze podataka Uvoz mysql baza podataka

Dobar dan, kolege 🙂

Danas ću vas nastaviti upoznavati s radom s MySQL -om na konzoli i naredbenom retku MySQL.

Već sam napisao članke o tome kako izvesti osnovne operacije s MySQL podacima putem konzole i napraviti sigurnosnu kopiju MySQL baze podataka, kao i izvoz informacija pohranjenih u njoj.

Logičan nastavak ove priče bit će obnova baze podataka i podataka pohranjenih u njoj pomoću operacija uvoza baze podataka MySQL. I, što je važno, nastavit ćemo to raditi s alatom svih hardcore programera - putem konzole.

Ako vam trebaju upute o uvozu baze podataka putem phpMyAdmina, možete ih pronaći u članku na. U trenutnom članku ne želim to ponovno opisivati, pogotovo jer će današnji materijal biti posvećen isključivo uvozu MySQL baze podataka putem konzole.

No, prije nego počnemo pregledavati metode i alate, nekoliko riječi o tome što je uvoz baze podataka MySQL, kako izgleda i kako je to najbolje učiniti?

Uvoz baze podataka MySQL: što i zašto?

Uvoz baze podataka MySQL operacija je tijekom koje se baza podataka puni informacijama. U ovom slučaju, izvor podataka je datoteka ispisa - snimka druge baze podataka, automatski stvorena tijekom operacije izvoza, ili posebno pripremljena SQL skripta.

Uvoz, kao i izvoz baze podataka MySQL, mogu biti dvije vrste podataka pohranjenih u bazi podataka:

  1. strukturu baze podataka, njezinih tablica i podataka pohranjenih u njima (u običnim ljudima koje se naziva dump baze podataka);
  2. samo podaci pohranjeni u tablici ili prikupljeni pomoću IZABERI zahtjevi.

Ovaj članak će obraditi obje mogućnosti.

Za vraćanje baze podataka s MySQL dumpa s njenom strukturom i svim pohranjenim podacima, kao što je već spomenuto, potrebna vam je datoteka dumpa baze podataka, koja je tekstualna datoteka s bilo kojim nastavkom (može se prethodno pakirati u arhivu radi smanjenja njegove veličine), koji sadrži SQL naredbe za stvaranje same baze podataka i tablica, kao i njihovo popunjavanje podacima.

Stoga, da biste vratili bazu podataka MySQL iz odlagališta, morate izvršiti naredbe sadržane u datoteci.

Za normalan oporavak podataka takve komplikacije nisu potrebne. Dovoljno je imati na raspolaganju testnu datoteku u kojoj će se informacije strukturirati na isti način kao u tablici baze podataka: broj stupaca s podacima odgovara broju atributa zapisa tablice.

U te svrhe uobičajeno txt datoteku, podatke u koje će se podijeliti ili datoteke stvorene u posebnim uređivačima tablica ( Microsoft Office Excel, OpenOffice itd.) S izvrsnim proširenjima: xls, csv, odt itd.

Ovi su formati čak i poželjniji, budući da kada ih izradite, urednici automatski dodaju graničnike podataka i nema potrebe za njihovim zasebnim unosom, kao u slučaju obične tekstualne datoteke.

Dodavanje podataka u MySQL: Alati

Što se tiče alata za uvoz baze podataka MySQL, mogu reći da ih danas ima čak tri.

Navest ću ih, počevši od onih najniže razine, pa sve do onih visoke razine (u smislu korištenja svih vrsta ljuski i dodataka):

  1. Konzola poslužitelja i MySQL naredbeni redak;
  2. Skripte napisane na programskim jezicima koje omogućuju upisivanje podataka u MySQL pomoću jezičnih alata;
  3. Gotovi programi koji pružaju vizualno sučelje za rad s bazom podataka (isti phpMyAdmin, MySQL WorkBench, MySQL Manager itd.).

Mislim da redoslijed postavljanja instrumenata neće nikome izazvati nikakva pitanja. alati programskog jezika u pravilu rade na temelju naredbi MySQL konzole, a programi se temelje na skriptama ili izravno rade s naredbenom linijom MySQL.

Na ovaj ili onaj način, konzola je na čelu svega, a ostatak alata su, zapravo, njeni emulatori.

Stoga vam upotreba konzole pri uvozu podataka u MySQL omogućuje zaobilaženje različitih ograničenja postavljenih postavkama programskih jezika na web poslužitelju i samim programima (koje, usput rečeno, nije uvijek moguće promijeniti).

Zbog toga je moguće učitati bazu podataka MySQL putem konzole ne samo brže, već i omogućiti ovu operaciju u načelu, budući da skripte i programi imaju tendenciju prekidanja uvoza kada se postigne maksimalno vrijeme izvršavanja skripte ili je uopće ne pokreću zbog veličine preuzete datoteke.

Mislim da svi koji su barem jednom pokušali učitati dump u veliku MySQL bazu podataka putem phpMyAdmina razumiju o čemu govorim.

Ta su ograničenja često razlog grešaka pri uvozu MySQL baze podataka, što nikada nećete vidjeti pri upotrebi konzole.

Oni, naravno, nisu stalni i mogu se promijeniti, ali ovo je dodatna glavobolja, koja bi se, usput rečeno, mogla pokazati nerješivom za obične korisnike.

Nadam se da sam vas motivirao da uvezete bazu podataka MySQL putem konzole (i njenu strukturu i podatke zasebno).

I na ovoj pozitivnoj točki, okrećemo se dugo očekivanoj praksi i razmatramo metode i naredbe za prijenos podataka konzolom u bazu podataka.

Kako vratiti konzolu MySQL bazu podataka s dumpa?

Dakle, za postavljanje MySQL dumpa s konzole postoje dva načina:

  1. pomoću naredbe na naredbenom retku MySQL;
  2. u samoj konzoli poslužitelja.

Krenimo redom.

Dakle, da bismo uvezli dump MySQL baze podataka u postojeće spremište, prvo ga moramo pokrenuti i odabrati željenu bazu podataka u koju ćemo učitati dump.

Provedba ovih radnji detaljno je opisana u članku na gornjoj poveznici, pa ako vam je potreban njihov opis, preuzmite ih odatle, jer Ne želim ih duplicirati u drugom krugu.

Nakon što ste učinili gore navedeno, unesite sljedeću naredbu u ljusku MySQL:

Izvorna putanja_ime_dampila i datoteka;

Ostaje nam samo proučiti poruke u konzoli o napretku operacija sadržanih u dumpu.

Bez prethodnog prelaska na željenu bazu podataka nakon povezivanja na MySQL poslužitelj u konzoli, dump se može uvesti sljedećom naredbom:

Mysql -u korisničko ime -p dbname< путь_и_имя_файла_дампа

To je sve. Glavna stvar je pričekati do kraja uvoza ako je datoteka vrlo velika. Dovršetak prijenosa dumpa može se procijeniti kada će konzola poslužitelja ponovno biti dostupna.

Zapravo, ovo je nedostatak ovu metodu u odnosu na prethodni, jer u prvom je moguće promatrati operacije izvedene s bazom podataka tijekom uvoza, dok u drugom nije.

Ako je datoteka dumpa zapakirana u arhivu, tada će je prilikom preuzimanja trebati raspakirati usput.

Na Linuxu se to može učiniti na sljedeći način:

Gunzip> [ime_arhivske_ime_datoteke.sql.gz] | mysql -u -p

U Windows standard Ne postoji uslužni program za raspakiranje arhive u konzoli, pa će je trebati dodatno instalirati.

Kao što vidite, uvoz MySQL dumpa kroz konzolu vrlo je jednostavna operacija koja se može obaviti jednom naredbom. Dakle, ne morate biti programer da biste dovršili ovaj postupak.

Ako odjednom ne znate kako pokrenuti poslužiteljsku konzolu, ove informacije možete pronaći u članku o naredbenom retku MySQL, vezu do koje sam već imao ranije.

Usput, opisanim metodama moguće je uvesti i MySQL tablicu, a ne cijelu bazu podataka. U tom slučaju, dump koji prenosite mora sadržavati operacije za njegovo stvaranje i popunjavanje podacima.

Učitavanje podataka u bazu podataka MySQL iz datoteke u konzoli

Razgovarali smo o vraćanju MySQL baze podataka sa smetlišta u konzoli. Sada je trenutak da shvatite kako možete uvesti podatke iz datoteka na isti način, uključujući iz xls i csv u bazu podataka MySQL.

Za ovaj zadatak opet imamo ista dva alata kao u prethodnom slučaju: naredbeni redak MySQL i konzolu poslužitelja.

Ponovno započnimo pregled redom.

Dakle, za uvoz datoteke u naredbeni redak MySQL, ponovno je pokrećemo i idemo u bazu podataka u koju će se podaci učitati.

UČITAJTE INFORMACIJU PODATAKA "path_and_name_of_dump_file" INTO TABLE `db_table` STUPCI KOJI SU ZAVRŠENI", "OGRANIČENI" \ "" REDOVIMA KOJI SU ZAVRŠENI "\ n";

Ne zaboravite da ako je MySQL poslužitelj pokrenut s opcijom —Secure-file-priv(što se često događa pri korištenju MySQL distribucija uključenih u sklopove WAMP / MAMP), tada se naziv datoteke mora navesti uzimajući u obzir sistemsku varijablu secure_file_priv.

Kako bi uvezli bazu podataka MySQL u poslužiteljsku konzolu bez ulaska u MySQL ljusku, pomoćni program će vam dobro doći mysqlimport, uključeno u distribuciju MySQL, i sljedeći poziv na nju:

mysqlimport –u korisničko ime –p ime dbname i put do datoteke za uvoz

Ovaj uslužni program analogan je SQL naredbi UČITAJTE INFORMACIJU PODATAKA, samo naredbeni redak. No, pitanje je zašto, dakle, među parametrima njezinog poziva nema tablice u koju će se učitati podaci iz datoteke?

Poanta je u tome da mysqlimport jednostavno fizički nema ovaj parametar... Umjesto toga, naziv tablice u koju će se učitati podaci mora se pojaviti u nazivu uvezene datoteke.

Oni. ako želite uvesti iz Excel tablice u MySQL tablicu korisnika tada bi vaša datoteka trebala biti imenovana korisnici.xls.

Proširenje uvezene datoteke, kao što je već spomenuto, može biti bilo što.

Mysqlimport također može učitati više xls ili csv datoteka na MySQL odjednom. Kako bi podaci došli do odredišta, nazivi datoteka i tablica baze podataka, kao u prethodnom primjeru, također se moraju podudarati.

Ako stupci u uvezenoj datoteci iznenada nisu u istom slijedu kao stupci tablice baze podataka, tada da biste razjasnili njihov redoslijed, morate upotrijebiti opciju -columns u sljedećem obliku:

Mysqlimport –u korisničko ime –p dbname -stupci stupac1, stupac2, ... ime_i_puta_to_import_datoteka

Naravno, u mojim primjerima od tada nisam uzeo u obzir cijeli popis parametara mysqlimporta neki od njih su vrlo specifični i rijetko se koriste u praksi.

Ako se želite upoznati s njima, njihov potpuni popis dostupan je ovdje - https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html

Značajke učitavanja podataka u bazu podataka MySQL sa smetlišta

Ako želite da proces uvoza velike MySQL baze podataka bude brži, tada morate stvoriti dump baze podataka pomoću posebnih opcija naredbe mysqldump, o čemu sam pisao u svom prethodnom članku o izvozu baze podataka MySQL, čija je veza Objavio sam ranije u tekstu.

Nažalost, same naredbe za uvoz baze podataka MySQL nemaju takve mogućnosti.

Jedina stvar, kako biste povećali brzinu pri učitavanju velikog odlagališta baze podataka, možete koristiti sljedeću značajku.

1. Otvorite datoteku dump (po mogućnosti u upraviteljima datoteka, jer se obični urednici mogu jednostavno sagnuti od velikih datoteka).

2. Na početak datoteke zapisujemo sljedeće retke:

SET vanjski_ključ_ provjere = 0; SET UNIQUE_CHECKS = 0; POSTAVI AUTOCOMMIT = 0;

Bilješka! Možda su već tamo ili su komentirani (mnogi programi koji stvaraju ispise mogu ih automatski dodati)

3. Na kraju datoteke napišite obrnute radnje:

SET vanjski_ključ_ provjere = 1; SET UNIQUE_CHECKS = 1; POSTAVI AUTOCOMMIT = 1;

Usput, ove naredbe pomoći će ne samo ubrzati proces uvoza, već će i omogućiti.

Činjenica je da ako ste ikada pogledali dump datoteku za uvoz MySQL baze podataka, možda ste primijetili da operacija postavljanja strukture učitanih tablica izgleda ovako:

DROP TABELA AKO POSTOJE `klijenti`; IZRADI TABLICU `klijenti` (...);

Oni. u bazi se traži tablica s istim imenom kao i uvezena, a ako se pronađe, briše se i ponovno stvara.

A ako je odjednom postojeća tablica spojena stranim ključevima s drugima, tada će čitavo učitavanje uspjeti.

Stoga je onemogućavanje provjere postojanja stranih ključeva i drugih također izvrsno jamstvo. uspješna provedba Proces uvoza baze podataka MySQL.

Značajke uvoza csv -a u MySQL bazu podataka i druge datoteke

Prilikom učitavanja podataka u bazu podataka MySQL iz tekstualnih datoteka, možda će također biti potrebno onemogućiti strane ključeve.

Štoviše, za razliku od prethodne situacije, u ovom slučaju neće uspjeti upisivanje direktiva u datoteku, budući da SQL naredbe u njemu neće se prihvatiti i izvršiti.

U prethodnom članku o izvozu MySQL baze podataka već sam spomenuo kako to učiniti pomoću sljedeće operacije na naredbenom retku MySQL:

SET FOREIGN_KEY_CHECKS = 0;

Međutim, tamo nisam spomenuo da je sistemska varijabla MySQL FOREIGN_KEY_CHECKS ima dva značenja: globalno i sesija (za trenutnu sesiju).

Globalna vrijednost MySQL varijabli ostaje na snazi ​​pri izvođenju bilo koje radnje na MySQL poslužitelju, sve dok se ponovno ne pokrene. Tada će se vrijednosti varijabli resetirati i dodijeliti im zadane vrijednosti.

Vrijednost sesije sistemske varijable MySQL postavlja se samo za vrijeme trajanja korisničke sesije s poslužiteljem MySQL. Sesija ili sesija započinju kada se klijent poveže s poslužiteljem, pri čemu mu se dodjeljuje jedinstvena ID veze, i završava pri prekidu veze s poslužiteljem, što se može dogoditi u bilo kojem trenutku (na primjer, do isteka vremena).

Zašto sam odlučio ovo zapamtiti?

Jer pri izvršavanju naredbi za učitavanje datoteke u bazu podataka MySQL putem poslužiteljske konzole, bez ulaska u ljusku MySQL, otkrio sam da onemogućivanje provjere stranog ključa na gornji način ne funkcionira.

Konzola je i dalje prikazivala poruku o pogrešci uzrokovanu prisutnošću stranih ključeva u tablici.

Nastao je iz razloga što je navedena naredba onemogućila provjeru postojanja stranih ključeva unutar sesije, a ne globalno, što se, osim navedene metode, može izvesti i na sljedeći način:

SET SESSION varijabla_ime = varijabla_vrijednost; SET @@ session.variable_name = variable_value; SET @@ varijabla_naziv = varijabla_vrijednost;

U gornjim naredbama varijabla je izričito označena kao varijabla sesije.

I budući da sam preuzimao csv datoteku a u MySQL tablica putem poslužiteljske konzole, bez izravna veza na MySQL poslužitelj, tada sesija nije stvorena, unutar koje bi radila moja vrijednost sesije varijable.

Na kraju sam postavio globalni FOREIGN_KEY_CHECKS i uvoz je uspio.

To se može učiniti na jedan od sljedećih načina:

SET GLOBAL varijabla_naziv = varijabla_vrijednost; SET @@ global.variable_name = variable_value;

Nakon promjene vrijednosti, dobro je pogledati vrijednosti varijable kako biste provjerili jesu li promjene stupile na snagu. Za prikaz sesije i globalnih vrijednosti upotrijebite sljedeću naredbu istovremeno:

SELECT @@ GLOBAL.foreign_key_checks, @@ SESSION.foreign_key_checks;

Ovim je zaključen današnji članak o uvozu MySQL baze podataka. Podijelite svoje dojmove i vlastiti razvoj u komentarima. Mislim da će mnoge zanimati vaše iskustvo.

Do sljedećeg puta! 🙂

p.s.: ako trebate web stranicu ili trebate urediti postojeću, ali za to nemate vremena i želje, mogu vam ponuditi svoje usluge.

Više od 5 godina iskustva profesionalni razvoj web stranice. Rad sa PHP, OpenCart,

Pozdrav, prijatelji! 🙂

Danas sam odlučio nastaviti razgovor o radu s MySQL -om u konzoli i obratiti pažnju na postupak izvoza MySQL baze podataka.

U ovom članku ću govoriti o tome kako izbaciti MySQL bazu podataka, kao i ispisati podatke iz MySQL u Excel datoteku i csv formatu.

Razmotrit ćemo različite mogućnosti za dohvaćanje informacija iz: stvaranja dumpa jedne ili više baza podataka, izvoza podataka iz zasebnih tablica i rezultata proizvoljnih IZABERI zahtjevi.

Govorit ćemo i o tome kako ispisati podatke iz MySQL baze podataka u poslužiteljskoj konzoli i MySQL naredbenom retku.

U ovom članku neću govoriti o tome kako izvesti podatke pomoću phpMyAdmina i drugih vizualnih alata.

Prvo, jer na webu već postoji dovoljno materijala o ovoj temi. Štoviše, kvalitetan materijal, koji ne želim kopirati i lijepiti.

I, drugo, već sam u jednom od svojih članaka, u kojemu sam govorio, ukratko razmotrio postupak iznošenja informacija iz MySQL baze podataka u SQL datoteku.

Dakle, ako niste profesionalni programer ili Administrator sustava, kojima bi informacije o radu s konzolom mogle biti korisne, a došli ste samo radi uputa o izvozu baze podataka na phpMyAdmin, možete se ograničiti na čitanje podataka na gornjoj vezi.

Želim da me dobro razumijete: ne želim vas na bilo koji način uvrijediti, ali samo želim da svoje vrijeme provedete uz maksimalnu korist za stvar i dobijete ono što ste tražili.

Ovim se završava uvodni dio i okrećemo se pregledu konzolnih naredbi za stvaranje dumpa baze podataka MySQL, koje sam odlučio sortirati prema količini spremljenih podataka: počevši od izvoza cijele baze podataka, do pojedinačnih tablica i rezultata proizvoljnih upita.

Stvaranje dumpa baze podataka MySQL putem konzole

Htio bih na samom početku napraviti malo pojašnjenje.

Dump baze podataka Datoteka je sa skupom SQL naredbi koja vam, kada se pokrene, omogućuje stvaranje baza podataka i tablica i njihovo popunjavanje podacima. Dump je potreban onima koji žele preuzeti MySQL bazu podataka kako bi je kopirali na drugi poslužitelj ili unutar postojećeg.

Također, ako netko nije upoznat, sigurnosna kopija baze podataka MySQL je, zapravo, njezin dump, napravljen u određenom vremenskom razdoblju, što vam omogućuje da po potrebi vratite strukturu i podatke baze podataka.

Izvoz podataka- ovo je jednostavno izdvajanje informacija iz tablica u tekstualnom obliku za daljnji rad s tekstualnim ili grafičkim urednicima.

Slijedom toga, naredbe za ove radnje bit će nešto drugačije.

Za stvaranje dumpa baze podataka, MySQL ima ugrađeni uslužni program koji se naziva mysqldump koristiti izvan naredbenog retka MySQL u poslužiteljskoj konzoli ili drugoj ljusci.

Dakle, za najjednostavniju i najčešću opciju - izvoz podataka određene baze podataka u MySQL konzolu za prijenos na drugi poslužitelj ili interno kopiranje, morate pokrenuti sljedeću naredbu:

Mysqldump -u korisničko ime -p db_name> put_i_dumpfile_name

Ovaj uslužni program može stvoriti ispise MySQL baze podataka samo u obliku datoteka sa SQL naredbama, pa će bilo koji nastavak koji odaberete za svoju datoteku u svakom slučaju biti isti. I ne zaboravite provjeriti dozvole za upisivanje u direktorij u kojem će se nalaziti prije izvoza podataka iz MySQL, kako bi se datoteka mogla stvoriti.

Ako odjednom trebate napraviti dump sa svim bazama podataka na poslužitelju, upotrijebite sljedeću verziju naredbe:

Mysqldump -u korisničko ime -p -sve baze podataka> put_i_dumpfile_name

Da biste izbacili samo nekoliko određenih baza podataka, morate pozvati mysqldump sa sljedećim parametrima:

Mysqldump -u korisničko ime -p --baze podataka dbname1, dbname2, ...> path_and_dumpfile_name

Kao rezultat toga, u svakom ćete slučaju dobiti dump baze podataka MySQL koji sadrži naredbe za stvaranje strukture sadržanih tablica (polja, njihove vrste, indekse, ključeve itd.), Kao i operacije za njihovo popunjavanje podacima.

Ova je opcija prikladna samo za obnavljanje i kopiranje cijelih baza podataka.

O tome kako napraviti sigurnosnu kopiju određenih MySQL tablica i dobiti njihove podatke u čitljivom obliku bit će dalje riječi.

Ispis MySQL tablica i izvoz podataka

Za stvaranje dumpa određenih tablica MySQL baze podataka potreban nam je isti uslužni program mysqldump poziva sa sljedećim parametrima:

Mysqldump -u korisničko ime -p db_name_tabela1, ime_tabele2, ...> put_i_dampila_datoteke

Kada pozivate mysqldump, također možete navesti potrebne tablice kao vrijednost parametra - Stolovi, kada se koristi koji parametar - baze podatakaće se zanemariti:

Mysqldump -u korisničko ime -p --baze podataka dbname1, dbname2 --tabele tablename1, tablename2, ...> dumpfile_path i ime

Gornji primjer prikazat će sljedeću pogrešku:

Mysqldump: Došlo je do pogreške: 1049: Nepoznata baza podataka "dbname1", pri odabiru baze podataka

Kao što vidite, koristit će se samo najnovija baza podataka s popisa navedenih. U načelu, takvo je ponašanje sasvim logično, budući da navedene tablice možda se neće pojaviti u svim bazama podataka.

U redu, dobili smo dump tablica MySQL baze podataka. Može se koristiti za njihovo vraćanje ili kopiranje zajedno sa strukturom.

No što ako samo trebate dobiti podatke pohranjene u njima i, po mogućnosti, u čitljivom obliku kako biste ih mogli poslati upravitelju i pregledati u običnom uređivaču teksta ili proračunske tablice? MySQL također ima sredstva za to.

Mogućnost pozivanja komunalnog poduzeća pomoći će nam u ostvarivanju naših planova. mysql s konzole s određenim parametrima:

Mysql -u korisničko ime -p db_name -e "SELECT * FROM table_name"

Ova naredba će nam omogućiti izvršavanje upita u potrebnoj bazi podataka i izlaz rezultata na konzolu bez ulaska naredbeni redak MySQL.

Pa, kako ne biste ispisali podatke na konzolu, već ih zapisali u datoteku, morate dopuniti naredbu na sljedeći način:

Mysql -u korisničko ime -p -e "SELECT * FROM table_name"> put_i_ime_datoteke

Zahvaljujući tim konstrukcijama, ne možemo samo dobiti podatke pohranjene u svim poljima tablice, već i u određenim. Da biste to učinili, dovoljno je umjesto zamjenskih znakova (*) napisati potrebne, odvojene zarezima.

Kao rezultat toga, na izlazu ćemo dobiti redovitu tekstualnu datoteku koja će sadržavati nazive polja u obliku zaglavlja i podatke o njima za sve zapise. Može se otvoriti u običnom uređivaču teksta, bez obzira na dopuštenje koje mu dajete prilikom izrade.

Ako želite izvesti podatke iz MySQL baze podataka u xls ili csv formatu kako bi se rezultirajuća datoteka ispravno prikazala u uređivačima proračunskih tablica, kako će se to učiniti bit će opisano malo kasnije 🙂

Stvaranje sigurnosnih kopija i izlaz podataka iz MySQL baze podataka pomoću upita

Razgovarali smo o tome kako izbaciti MySQL bazu podataka - jednu i više, kao i njihove pojedinačne tablice. No ponekad u praksi postoje slučajevi kada morate izvesti skup podataka koji nije ograničen na jednu tablicu. Ili samo trebate odabrati neke podatke iz tablice.

S tim se često susreću programeri korporativnih projekata kada menadžeri od njih traže da dostave sve vrste statističkih podataka. Ili kad trebate napraviti sigurnosnu kopiju određenog dijela tablice za njegov brzi oporavak.

Za sigurnosnu kopiju potreban nam je isti uslužni program. mysqldump, koji će se morati zvati ovako:

Mysqldump -u korisničko ime -p db_name tablica_name -gdje se traži> put_i_dumpfile_name

Kao rezultat toga dobit ćemo datoteku sa SQL naredbama za izradu tablice s cijelom njezinom strukturom, koja će nakon izrade biti ispunjena podacima odabranim pomoću upita za pretraživanje.

Ako samo trebamo podatke pohraniti u jednu ili više tablica, tada moramo izmijeniti naredbu koja se koristila u prethodnom slučaju prilikom dohvaćanja svih podataka u tablici, samo uz neka pojašnjenja:

Mysql -u korisničko ime -p -e "SELECT * FROM table_name WHERE lookup_query"> path_and_file_name

Kao što možete zamisliti, pored raznih pojašnjenja navedenih u zahtjevu pomoću direktive GDJE, možete koristiti druge SQL konstrukcije: PRIDRUŽITI, UNIJA itd.

Možete prikupiti bilo koju statistiku 🙂

Ista se radnja može izvesti i pri radu u naredbenom retku MySQL pomoću sljedeće naredbe:

SELECT * FROM db_table WHERE lookup_query INTO OUTFILE "path_and_file_name";

Ova je naredba samo namijenjena stvaranju datoteka s rezultatima odabira. Štoviše, rezultati se ne mogu samo izvesti u datoteke, već i zapisati u varijable, a izlazni se podaci mogu formatirati na različite načine.

Ako je gore navedeno vaš slučaj, ovdje možete pronaći potpuni popis parametara i opcija za pozivanje ove naredbe - https://dev.mysql.com/doc/refman/5.7/en/select-into.html

Na kraju kratkog izleta na mysqldump, želim dati varijantu pozivanja naredbe s popisom parametara za stvaranje optimiziranog ispisa baze podataka i tablica MySQL, obnavljanje baze podataka i pojedinačnih tablica iz kojih će trebati manje vremena nego redovitim pozivom:

mysqldump -u korisničko ime -h host_or_IP_MySQL_server -p --no -autocommit --opt db_name> put_i_name datoteke dump;

Za eksperiment sam se poslužio ovu opciju kako bi se napravio ispis MySQL baze podataka od 143 MB. Naknadno vraćanje trajalo je 59 sekundi u odnosu na 1 minutu i 3 sekunde kada je baza podataka vraćena iz dumpa napravljenog pozivom mysqldump bez posebnih parametara.

Slažem se da je ovo sitnica. Ali ovo je samo slučaj ovog sveska podaci. Ako koristite ovu tehniku ​​pri stvaranju ispisa većeg od 1 GB, razlika će biti značajnija.

Ako naiđete na takvu situaciju, ne zaboravite prethodno zapakirati dump MySQL baze podataka u arhivu. Tar.gz je najbolji. Tada će oporavak trajati još manje vremena.

Izvoz podataka iz MySQL u Excel i csv datoteke

Nije slučajno što sam u jednom bloku spojio informacije o ispisivanju informacija iz MySQL -a u ova dva formata, budući da vrlo su slični, koriste se na približno isti način (za strukturiranje informacija u obliku tablica), a naredbe za izvoz bit će pozvane na isti način.

Kao što znate, jedina značajna razlika između ovih formata je ta što ekstenzije xls i xlsx imaju datoteke stvorene u Microsoftov program Office Excel, koji radi samo u sustavu Windows, i csv datoteke univerzalnije su i operacije s njima moguće su u mnogim uređivačima.

To ne znači da se xls neće otvoriti nigdje osim programa Microsoft Office Excel. Isti OpenOffice potvrđuje suprotno.

No za takvu mogućnost ta podrška mora biti prisutna u softverskom proizvodu. csv datoteke mogu se čitati čak i u običnom uređivaču teksta poput "Notepada", samo što ovaj obrazac neće biti u potpunosti čitljiv.

Za početak, samo rezultati SQL upita mogu se izvesti u xls ili csv. bit će nemoguće izbaciti cijelu bazu podataka u jednu datoteku u jednoj operaciji.

Prvo, nije optimalno jer takva se datoteka vjerojatno neće otvoriti s velikom količinom podataka pohranjenih u bazi podataka. I, drugo, nije jasno kako podijeliti informacije u tablice i polja unutar datoteke.

Ne, to je, naravno, moguće učiniti, ali malo je vjerojatno da će se to učiniti jednom naredbom, i općenito, malo je vjerojatno da će to netko učiniti u konzoli. Mislim da će vam u ove svrhe biti potreban poseban softver ili barem skripta.

Ako odjednom znate kako možete izvesti podatke iz cijele MySQL baze podataka odjednom u jednu ili više njih xls datoteku s u konzoli, a zatim o tome napišite u komentarima. Mislim da će čitanje o ovome biti od koristi mnogima.

Dakle, ako govorimo o tome kako izvesti podatke iz MySQL -a u xls i csv, to se može učiniti izravno u konzoli poslužitelja putem uslužnog programa mysql ili u, rad s kojim sam vas upoznao u svom prethodnom članku.

Krenimo redom.

Možete izvesti podatke iz MySQL baze podataka u csv i xls formate izravno u poslužiteljsku konzolu pomoću sljedećih naredbi.

Na Linux sustavi:

Mysql -u korisničko ime -d dbname -p -e "SELECT * FROM dbtable;" | sed "s /" / \ " /; s / \ t / \", \ " / g; s / ^ / \" /; s / $ / \ " /; s / \ n // g"> put_i_ime_datoteke. csv

U načelu, ako je apsolutno potrebno, možete koristiti ovu naredbu za izvoz MySQL podataka u Excel datoteku. Ali, da budem iskren, nisam se bavio podacima u praksi i nemam pojma što će na kraju izaći. Sada radim pod Windowsima. Ako ćete koristiti ovu naredbu pod Linuxom - u komentare napišite o rezultatima svog rada. Mislim da će informacije zanimati sve.

Na Windows:

Nažalost, izvoz podataka iz MySQL tablica u csv gornjom naredbom neće uspjeti u ovom slučaju, jer Windows, za razliku od Linuxa, nema ugrađenu naredbu za konzolu za rad sa streamovima, kao što sed ima u Linuxu.

Ugradnja je, naravno, moguća, ali previše problema. Alternativno, možete koristiti CygWin- emulator Linux konzole za Windows sustave.

Dobro je ako ga već imate instaliranog. U suprotnom, izvoz podataka iz MySQL baze podataka odabranom metodom donijet će nam previše problema.

No vađenje podataka u xls datoteku jednostavno je kao 5 kopecks 🙂 Vrlo ju je jednostavno pokrenuti na sljedeći način, što sam osobno pokušao:

Mysql -u korisničko ime -d dbname -p -e "SELECT * FROM dbtable;" > path_and_file_name.xls

Ova je datoteka otvorena u Microsoft Office Excelu bez ikakvih problema. Jedino što se otvara je da se na zaslonu pojavi poruka s upozorenjem da se stvarni format datoteke koja se otvara razlikuje od navedenog nastavka.

No pri potvrđivanju radnje dokument se otvorio bez poteškoća - svi su podaci podijeljeni u ćelije u obliku u kojem su pohranjeni u samoj tablici.

Ne znam, možda, kada će se u Microsoft Office Excelu izvršavati bilo kakve posebne radnje, problemi će se pojaviti u budućnosti, nisam tako duboko kopao. U najmanju ruku, nisam naišao na ništa neobično pri normalnom gledanju podataka.

Ako u procesu korištenja xls datoteke izvezene iz MySQL -a imate bilo kakvih problema bilo u ovom ili u drugim programima, javite mi u komentarima.

Na gore opisani način, u načelu možete izvesti sadržaj baze podataka MySQL u csv datoteku. No tada će se podaci iz različitih polja tablice upisivati ​​skupno, bez separatora, koji mogu biti loše prikazani u razne programe za rad s tablicama u kojima obično rade s csv datotekama.

Usput, OpenOffice nije briga 🙂 Automatski je razgraničio informacije dobivene načinom na koji smo izvezli sadržaj baze podataka MySQL u xls. Ne znam kako to radi - ali preporučujem da koristite 🙂

Pa, isti Microsoft Office Excel prikazao je sve podatke koji odgovaraju jednom zapisu u tablici, upisujući ih u jednu ćeliju bez ikakvih separatora. Mislim da će drugi urednici proračunskih tablica učiniti isto.

Stoga, prilikom izvoza MySQL baze podataka u csv datoteke, to morate učiniti odvajanjem podataka posebni znakovi kako to percipiraju urednici.

A onda sam glatko pristupio drugom načinu izvoza MySQL podataka u csv i xls, a to je korištenje naredbenog retka MySQL.

Dakle, da bismo na ovaj način izvezli MySQL podatke u csv datoteku, potrebna nam je sljedeća naredba:

SELECT * FROM db_table INTO OUTFILE "path_and_file_name.csv" FIELDS TERMINATED BY "," ENCLOSED BY "" "LINIJE KOJE JE ZAVRŠENO" \ n ";

Kao rezultat izvršenja, primit ćete csv datoteku duž puta koji ste naveli prilikom poziva, a koji će se ispravno otvoriti u većini modernih uređivača proračunskih tablica. Za svaki slučaj, podsjećam vas da ovu naredbu morate pokrenuti tek nakon povezivanja s bazom podataka MySQL.

Ova je naredba također izvrsna za izvoz MySQL podataka u xls datoteku radi ispravnog prikaza u programu Microsoft Office Excel. Samo u ovom slučaju ne trebaju nam separatori, budući da ometat će razbijanje informacija u stanice:

SELECT * FROM db_table INTO OUTFILE "path_and_file_name.xls";

Međutim, u praksi nije sve tako jednostavno kako sam opisao. Tijekom izvršavanja naredbe možete naići na sljedeću pogrešku u konzoli koja sprječava izvoženje izvoza:

POGREŠKA 1290 (HY000): MySQL poslužitelj radi s opcijom --secure-file-priv pa ne može izvršiti ovu naredbu

To je uzrokovano činjenicom da je vaš MySQL poslužitelj pokrenut s opcijom —Secure-file-priv... Osobno sam se suočio s ovim problemom zbog činjenice da za rad u konzoli koristim distribucijski paket MySQL koji je uključen u komplet WAMP OpenServer, a koji na taj način pokreće MySQL poslužitelj.

Ovdje postoje dva načina za rješavanje problema:

  • Promijenite parametre pokretanja MySQL poslužitelja
  • Promijenite put do odredišne ​​izvozne datoteke MySQL

Prva metoda mi se učinila previše kompliciranom, jer Morao bih zaroniti u konfiguraciju OpenServera, koju nisam napisao sa svim okolnostima koje slijede 🙂 Stoga sam odlučio krenuti drugim putem. Ako se suočite sa sličnim problemom - ponovite za mnom.

Prvo morate otići do naredbenog retka MySQL i izvršiti jednu od sljedećih naredbi:

PRIKAŽI VARIABLES LIKE "secure_file_priv"; SELECT @@ GLOBAL.secure_file_priv;

Obje će rezultirati vrijednošću globalne varijable MySQL secure_file_priv, koji sadrži put do direktorija kroz koji se mogu izvesti operacije izvoza i uvoza podataka MySQL (u budućnosti veza do članka o uvozu podataka).

Oni. pri korištenju naredbi UČITAJTE PODATKE i ODABERI ... U IZVRŠNU FILM izvezene i uvezene datoteke mogu se nalaziti samo u ovom direktoriju.

U mom slučaju, ova je varijabla općenito bila postavljena na NULL od Kao što je već spomenuto, za rad u konzoli koristim MySQL pomoćne programe iz distribucijskog paketa uključenog u OpenServer. Ova vrijednost ukazuje na to da su operacije izvoza i uvoza MySQL -a pomoću navedenih naredbi potpuno zatvorene.

Kako se kasnije pokazalo, ovo je česta situacija pri korištenju WAMP i MAMP poslužitelja u kutiji.

Nažalost, u mom slučaju nije bilo moguće koristiti uobičajene metode mijenjanja vrijednosti MySQL globalnih varijabli:

SET varijabla_naziv = vrijednost;

Zbog toga sam u konzoli vidio samo sljedeću pogrešku:

POGREŠKA 1238 (HY000) u retku 1: Varijabla "secure_file_priv" varijabla je samo za čitanje.

Kao rezultat toga, promijeniti vrijednost varijable secure_file_priv i otvoriti operacije izvoza i uvoza, morao sam otići do konfiguracijske datoteke MySQL mysql.ini koja se nalazi u korijenskom direktoriju distribucije MySQL ili joj se može pristupiti na drugi način ako je MySQL uključen u vaš WAMP / LAMP / MAMP poslužitelj graditi paket.

Usput, ako želite promijeniti put do međuspremnika za razmjenu datoteka, morat ćete učiniti isto.

U mom slučaju, ova varijabla je već postojala u konfiguraciji, samo u komentiranom obliku:

Secure-file-priv = "% dprogdir% \\ userdata \\ temp"

Ako ga nemate, napišite ga od početka u odjeljak (barem sam ga tamo imao).

Komentirao sam to i odlučio ga upotrijebiti u obliku u kojem je napisano. Oni. prilikom izvoza podataka iz MySQL -a i ponovnog uvoza, moje će se datoteke sada pohraniti u direktorij c: \ openserver \ userdata \ temp \.

Nakon promjene konfiguracije (bilo koje, usput), ne zaboravite ponovno pokrenuti poslužitelj ili zasebnu uslugu, čije ste postavke uredili, ako postoji takva mogućnost da promjene stupe na snagu!

Svakako, nakon ponovnog pokretanja MySQL poslužitelja, još jednom prikažite varijablu secure_file_priv i kopirajte njegovu vrijednost u međuspremnik.

A sada moramo pozvati naredbu, kao i na početku, neposredno prije naziva datoteke u koju će se spremiti podaci iz baze podataka MySQL, upišite stazu pohranjenu u varijabli koju mijenjamo u sljedeći oblik:

SELECT * FROM db_table INTO OUTFILE "value_secure_file_priv \ filename.csv";

Nakon toga, izvoz podataka iz MySQL -a radio je u mom slučaju.

Važna točka! Ako radite s MySQL -om u sustavu Windows, ne zaboravite promijeniti "\" u "/" kada navodite put do datoteke, u protivnom dolazi do pogreške s —Secure-file-priv ionako će se nastaviti prikazivati.

Ovo je članak o tome kako izbaciti MySQL bazu podataka i njezine tablice, kao i izlazne podatke iz MySQL tablica u raznih formata, dolazi do kraja. Napišite svoje povratne informacije u komentarima i podijelite ih sa svim svojim skriptama koje najčešće koristite u praksi.

Ako vam se članak svidio, možete zahvaliti autoru ponovnim objavljivanjem članka na društvenim mrežama ili financijski koristeći donji obrazac, tako da možete platiti hosting u elementarnom trenutku.

Sretno svima i vidimo se uskoro! 🙂

p.s.: ako trebate web stranicu ili trebate urediti postojeću, ali za to nemate vremena i želje, mogu vam ponuditi svoje usluge.

Više od 5 godina iskustva profesionalni razvoj web stranice. Rad sa PHP

Prilikom prijenosa web mjesta s lokalnog poslužitelja na hosting, jedan od obveznih postupaka je izvoz / uvoz baze podataka (baze podataka). Stoga ću u ovom članku pokušati što detaljnije opisati postupak izvoza i uvoza baze podataka s lokalnog poslužitelja, odnosno s web sučelja. PHPMyAdmin verzija 3.2.3 za hosting.

Prvo što trebate učiniti je trčati lokalni poslužitelj, u ovom slučaju to je Denwer. Nakon pokretanja Denwera morate otvoriti preglednik i u redak preglednika upisati: "http: // localhost / tools / phpmyadmin", nakon čega će se pred vama otvoriti prozor(Sl. 1)s prethodno stvorenim baze podataka.

Sl. 1

Zatim morate odabrati bazu podataka koju ćemo izvesti, u mom slučaju to je baza podataka koja se zove Mybd. Baza podataka se može odabrati klikom na nju u lijevom dijelu prozora preglednika, gdje stoji "Odaberite bazu podataka" (slika 2).


Slika 2

Nakon odabira potrebne baze podataka otvorit će se prozor sa strukturom baze podataka. U gornjem izborniku postoji stavka "Izvoz" uz pomoć kojih ćemo izvesti bazu podataka na računalo, a zatim je uvesti na hosting. I tako, idite na stavku "Izvoz" (Slika 3).


Slika 3

U prozoru koji se otvori morate izvršiti neka mjerenja (Slika 4), naime: u bloku "Izvoz" trebate odabrati sve tablice baze podataka klikom na stavku Odaberi sve i stavite kvačicu ispred stavke SQL, ova je stavka odgovorna za vrstu datoteke koja će se izvesti. Također, ispred stavke morate staviti kvačicu "Spremi kao datoteku", što će osigurati spremanje baze podataka u datoteku. Ostale postavke ne morate mijenjati, samo pritisnite gumb "Ići".

Slika 4

Ako ste sve učinili ispravno, datoteku baze podataka trebali biste preuzeti na svoje računalo. Ovom datotekom ćemo uvesti bazu podataka na hosting.

Također, morate promijeniti kodiranje datoteke u UTF-8 bez BOM-a, da biste promijenili kodiranje koje koristim uređivač teksta Notepad ++(Preuzimanje datoteka ) . Pomoću ovog programa otvorite datoteku baze podataka i u izborniku "Kodiranje" izabrati "Pretvori u UTF-8 bez BOM-a" (Sl.5), nakon čega spremamo i zatvaramo.


Slika 5

Dobar dan prijatelji, danas ćemo naučiti kako to učiniti. Čemu služi? Možete postaviti pitanje. Prvenstveno izvoz baze podataka mora se povremeno raditi kako bi se hitne situacije Niste izgubili važne podatke za vas. Izvoz će biti mala datoteka koja će pohraniti sve podatke o bazi podataka. Za izvoz baze podataka morate otići na PHPMyAdmin i kliknuti na bazu podataka koja vas zanima. Nakon toga ćete vidjeti sve tablice u njoj i, bez ulaska u njih, kliknite gumb izbornika pod nazivom izvoz. Pred vama će se pojaviti sljedeća stranica:


Savjetujem vam da odaberete brz način izvoz, kao i u formatu za navođenje SQL... Tada možete pritisnuti u redu. Vidjet ćete prozor u kojem će se od vas tražiti da spremite datoteku.


Spremate datoteku na mjesto koje vam je potrebno, glavna stvar je zapamtiti gdje ste je spremili, jer nam je jako važna.
O uobičajenim načinom izvoz. Možete ga koristiti i ako vam zatreba, postoje mnoge dodatne postavke koje možete postaviti tijekom izvoza. Na primjer, odaberite potrebne tablice iz baze podataka, navedite kodiranje i još mnogo toga. Ako ste zainteresirani za ovu postavku, možete je vidjeti. Ali ti i ja nećemo ulaziti u ovu postavku.
Nakon što datoteku spremite na računalo, od vas ću tražiti da izbrišete bazu podataka. Neću vam objašnjavati kako to učiniti, jer smo to već prošli. Ne bojte se brisanja, s vama ćemo sve vratiti na svoje mjesto.
Vrijeme je da se zaposlite uvoz baze podataka... Idite na izbornik za uvoz.


Odabiremo pregled vašeg računala i označavamo put do naše datoteke. I pritisnite ok. Kao što vidite, greška se pojavila ispred vas. Ne bojte se, stvar je u tome da vi i ja nismo uvezli samu bazu podataka, već samo sve njezine tablice. Stoga prvo stvorite bazu podataka, uđite u nju i kliknite gumb za uvoz, nakon što ste učinili sve gore navedeno. Pritiskom na tipku ok sve će vam uspjeti, a ako ste sve učinili ispravno, pogreška se ne bi trebala pojaviti.


Kao što vidite, naša se tablica ponovno pojavila na svom mjestu, a svi podaci u njoj su spremljeni. Sada shvaćate kakva velika prilika izvoz i uvoz baze podataka u PHPMyAdmin... Uostalom, ako u jednom danu izgubite sva svoja postignuća dugi niz godina, zahvaljujući ovu datoteku Sve možete vratiti. Na ovome se uskoro opraštam od tebe.

Baze podataka (ili skraćene baze podataka) na većini web stranica imaju veličinu (težinu) jednaku nekoliko desetaka MB (megabajta). Početna veličina baze podataka na početku različitih projekata ovisi o strukturi samog mjesta (CMS), a zatim se njihova težina povećava svakim pojavljivanjem novog zapisa.

Zapisi mogu biti podaci o registraciji korisnika, komentari, osobne poruke, proizvodi, vijesti i drugi podaci pohranjeni u bazi podataka web stranice.

Također sam imao priliku raditi s nekoliko web stranica, čija je veličina baza podataka prelazila 500 MB (magabajti), a na nekima čak i 2 GB (gigabajta). Jer standardne metode Budući da je baze podataka ove veličine teško prenositi (zbog ograničenja hostinga i preglednika), podijelit ću s vama nekoliko metoda rada koje će vam pomoći u rješavanju takvih problema (prijenos velikih baza podataka).

Izvoz (preuzimanje) velikih MySQL baza podataka putem Sypex Dumpera

Dakle, počnimo s vama razmatranje rješenja postavljenih zadataka s lakšom opcijom, naime s gotovim rješenjem.

"Sypex Dumper" je softverski proizvod napisan na PHP -u ​​koji omogućuje rad s bazama podataka bez upotrebe phpMyAdmin. Prednosti "Sypex Dumpera" uključuju:

  1. Višejezično (podržava mnoge jezike).
  2. Tamo je besplatna verzija skripta (to je sasvim dovoljno za naše zadatke).
  3. Velika brzina izvršavanja zadataka.
  4. Rad s velikim bazama podataka.
  5. Zgodno i intuitivno sučelje.
  6. I mnogi drugi zanimljivi "čips".

Koristit ćemo ga za preuzimanje (prijenos) velikih baza podataka.

Da biste izvezli (dobili, preuzeli) bazu podataka određene web stranice za daljnju upotrebu, morate učiniti sljedeće.

1. besplatno s naše web stranice.

2. sxd na vama prikladan način.

3. Zatim idite na (gdje your_site.ru Da uđem».

4. Na stranici koja se otvori (s uspješnom autorizacijom) pritisnite jednom u odjeljku " Izvoz» u gornjem izborniku... Ako je korisniku na raspolaganju nekoliko baza podataka, s padajućeg popisa odaberite onu koja će se izvesti (preuzeti). Ostatak postavki možete ostaviti nepromijenjenim i kliknite na gumb " Izvršiti».


Želim napomenuti da se ne može izvesti cijela baza podataka, već samo neke njezine tablice po potrebi.

5. Nakon što je proces spremanja baze podataka završio (to možete razumjeti prema traci napretka), možete preuzeti bazu podataka koja vam je potrebna klikom na odgovarajući gumb.


Osim toga, sve izvezene baze podataka bit će pohranjene na vašem web mjestu usput / sxd / backup /... Ako spremanje baze podataka završi s pogreškom - provjerite to za mapu sigurnosna kopija postoji 777 prava na pisanje.

Time je dovršen izvoz (preuzimanje) baze podataka.

Uvoz (učitavanje) velikih MySQL baza podataka putem Sypex Dumpera

Gore smo s vama razgovarali o načinu dobivanja neophodna baza podataka, sada ih morate prenijeti (uvesti) u drugi projekt, a za to radimo sljedeće.

1. besplatno s naše web stranice.

2. Raspakirajte arhivu i prenesite mapu na web mjesto sxd na vama prikladan način.

3. U mapu / sxd / backup / učitati prethodno primljenu (preuzetu) bazu podataka.

4. Zatim idite na adresu http://your_site.ru/sxd/index.php(gdje your_site.ru- domena vaše web stranice), nakon čega će se pred vama otvoriti obrazac za unos podataka. U njemu navodite podatke korisnika koji ima prava na upravljanje bazom podataka koja vam je potrebna i kliknite " Da uđem».

5. Na stranici koja se otvori (s uspješnom autorizacijom) pritisnite 1 put do odjeljka " Uvoz» u gornjem izborniku... Ako je korisniku na raspolaganju nekoliko baza podataka, s padajućeg popisa odaberite onu u koju ćemo uvesti (učitati) podatke. Ostatak postavki možete ostaviti nepromijenjenim i pritisnite gumb " Izvršiti».


Želim napomenuti da je moguće uvesti ne cijelu bazu podataka, već samo neke njezine tablice prema potrebi.

6. Nakon što je proces uvoza (učitavanja) baze podataka završio (to možete razumjeti prema traci napretka), zadatak se može smatrati dovršenim.


Izvezite (preuzmite) velike MySQL baze podataka putem SSH terminala

SSH - mrežni protokol, koji vam omogućuje daljinsko (putem posebnih naredbi) upravljanje sustavom ili poslužiteljem. U sustavu Windows postoji mnogo programa za rad s ovim protokolom, od kojih je najpopularniji "PuTTY".

Na nekim hostingima, kao što je, na primjer, u, postoji ugrađeni terminal desno na upravljačkoj ploči. Ne idemo daleko i razmotrimo problem opisan u naslovu na njegovu primjeru. Korisno je napomenuti da se dolje opisane operacije mogu izvesti u zasebnom SSH klijentu.

1. Pokrećemo Terminal. Na to izgleda ovako:


2. Ako se na poslužitelj povežete putem program treće strane- prijavite se na njega unosom odgovarajućih podataka (možete ih dobiti na upravljačkoj ploči hostinga ili od vašeg pružatelja usluga hostinga).

drugi- ovo:

Mysqldump -u USERNAME -p DATABASE> backup.sql

izravno sam izvoz, gdje:

KORISNIČKO IME- prijava korisnika koji ima pristup bazi podataka.

BAZA PODATAKA- naziv baze podataka koju želimo izvesti.

sigurnosna kopija.sql- naziv datoteke u koju će se spremati baza podataka i put je relativan. S ovim dizajnom baza će se spremiti u korijen hostinga.

4. u trećem korakuUnesi"na tipkovnici. Bilješka

Nakon što poslužitelj ponovno bude spreman za prihvaćanje naredbi putem SSH -a, to će značiti da je izvoz baze podataka dovršen i da ga možete preuzeti putem FTP -a ili putem upravitelj datoteka usluge poslužitelja.

Proces izvoza (i uvoza) u SSH -u se ne emitira, a ako je vaša baza podataka prilično velika, budite strpljivi jer možete primiti odgovor od poslužitelja nakon više od 20 minuta.

Uvoz (učitavanje) velikih MySQL baza podataka putem SSH terminala

Već smo shvatili što je SSH, a sada počnimo gledati kako uvesti prethodno preuzetu bazu podataka u drugi projekt.

1. U korijenu vašeg hosting, preuzmite prethodno preuzetu bazu podataka na vama prikladan način.

2. Povežite se sa svojim hostingom / poslužiteljem putem SSH -a.

ovako zasigurno idemo do root korijena, i drugi- ovo:

Tako dobivamo potpuni popis datoteka i direktorija u trenutnom direktoriju. Želimo uključiti našu prethodno učitanu bazu podataka.

4. Ako je sve u redu i baza je na mjestu, unesite posljednju naredbu:

Mysql -u KORISNIČKO IME -p PODATAK< backup.sql

KORISNIČKO IME- prijava korisnika koji ima pristup bazi podataka.

BAZA PODATAKA- naziv baze podataka u koju ćemo uvesti podatke.

sigurnosna kopija.sql- naziv datoteke za učitavanje i put je relativan. S ovim dizajnom, baza će se uvesti iz korijena hostinga.

5. Nakon unosa naredbe od vas će se tražiti da unesete lozinku od korisnika kojeg ste naveli u četvrtom koraku... Unesite svoju lozinku i kliknite " Unesi"na tipkovnici. Bilješka da se lozinka ne prikazuje u SSH terminalu, odnosno da unesete lozinku ili je zalijepite - na njezinu će mjestu uvijek biti prazan prostor.

Nakon toga, budući da je poslužitelj ponovno spreman za primanje naredbi putem SSH -a, to će značiti da je uvoz baze podataka završen i da možete nastaviti raditi na projektu.