Izvoz i uvoz podataka iz mysql-a. Kako izvesti (preuzeti) i uvesti (upload) velike MySQL baze podataka? Uvoz velikih mysql baza podataka

24.03.2023

Ovaj postupak uključuje prijenos podataka iz jedne baze podataka (A) u drugu (B). Baza B se po pravilu nalazi na hostingu (ili u Denveru), a baza A nalazi se na računaru korisnika i predstavlja fajl sa sql ekstenzijom. Baza podataka A ima drugo ime - Dump.

Kako uvesti bazu podataka?

Uvoz MySQL baze podataka koristeći SSH

Ova metoda se koristi prilično rijetko, ali ćemo je opisati. Prvo popunite bazu podataka iz koje ćete je uvesti na server hosting provajdera, gdje se pohranjuju datoteke vaše web stranice. Zatim, za uvoz baze podataka, koristite naredbu:

mysql -uUSERNAME -pUSERPASSWORD DBNAME< DUMPFILENAME.sql

mysql --user=KORISNIČKO IME --password=KORISNIČKA LOZINKA DBNAME< DUMPFILENAME.sql

Umjesto riječi napisanih velikim slovima zamjenjujemo:
USERNAME - korisničko ime baze podataka, na primjer uhosting_databaseuser;

USERPASSWORD - korisnička lozinka baze podataka, na primjer Rjkweuik12;

DBNAME - naziv baze podataka u koju će se izvršiti uvoz, na primjer uhosting_databasename

DUMPFILENAME - naziv dump datoteke iz koje će se uvoziti podaci. Ovdje također trebamo odrediti putanju do baze podataka koju smo učitali na server hosting provajdera.

Pozdrav, prijatelji! 🙂

Danas sam odlučio da nastavim razgovor o radu sa MySQL-om u konzoli i obratim pažnju na proceduru za izvoz MySQL baze podataka.

U ovom članku ću govoriti o tome kako da izbacujem MySQL bazu podataka, kao i kako učitati podatke iz MySQL-a na Excel fajl i csv formatu.

Pogledat ćemo različite opcije za dohvaćanje informacija iz: kreiranja dumpa jedne ili više baza podataka, izvoza podataka iz pojedinačnih tabela i proizvoljnih rezultata SELECT zahtjevi.

Također ćemo razgovarati o tome kako izvesti podatke iz MySQL baze podataka u konzoli servera i MySQL komandnoj liniji.

U ovom članku neću govoriti o tome kako izvesti podatke iz koristeći phpMyAdmin i drugi vizuelni alati.

Prvo, jer na internetu već ima dovoljno materijala o ovoj temi. Štaviše, radi se o visokokvalitetnom materijalu koji ne želim kopirati-paste.

I, drugo, ja sam u jednom od mojih članaka, gdje sam govorio o .

Dakle, osim ako niste profesionalni programer ili sistem administrator, kome bi mogle biti korisne informacije o radu sa konzolom, a došli ste samo po uputstva kako da izvezete bazu u phpMyAdmin, onda se možete ograničiti na čitanje informacija na linku iznad.

Želim da me ispravno shvatite: ne želim da vas na bilo koji način uvrijedim, ali samo želim da svoje vrijeme provedete sa maksimalnom koristi za svoj posao i dobijete ono što ste tražili.

Ovim završavamo uvodni dio i prelazimo na pregled konzolnih naredbi za kreiranje MySQL dumpa baze podataka, koje sam odlučio sortirati prema količini podataka koji se čuvaju: počevši od izvoza cijele baze podataka, završavajući pojedinačnim tabelama i rezultatima proizvoljnih upita.

Kreiranje dumpa MySQL baze podataka preko konzole

Želio bih da napravim malo pojašnjenje na samom početku.

Dump baze podataka je datoteka sa skupom SQL naredbi, koja vam, kada se pokrene, omogućava kreiranje baza podataka i tablica, kao i njihovo popunjavanje informacijama. Dump je potreban onima koji žele preuzeti MySQL bazu podataka kako bi je kopirali na drugi server ili unutar postojećeg.

Takođe, ako neko nije upoznat, rezervna kopija MySQL baze podataka je, u suštini, njen dump napravljen u određenom vremenskom periodu, što vam omogućava da vratite strukturu i podatke baze podataka ako je potrebno.

Izvezi podatke- ovo je jednostavno izdvajanje informacija iz tabela u tekstualnom obliku za dalji rad sa tekstualnim ili grafičkim uređivačima.

Stoga će naredbe za ove radnje biti malo drugačije.

Da bi kreirao dump baze podataka, MySQL ima ugrađeni uslužni program koji se zove mysqldump, koji se mora koristiti izvan MySQL komandne linije u serverskoj konzoli ili drugoj ljusci.

Dakle, za najjednostavniju i najčešću opciju – izvoz podataka iz određene baze podataka u MySQL konzolu radi prijenosa na drugi server ili interno kopiranje, potrebno je pokrenuti sljedeću naredbu:

Mysqldump -u korisničko ime -p ime_baze_datoteke > staza_i_ime_datoteke_dump

Ovaj uslužni program može kreirati dumpove MySQL baze podataka samo u obliku datoteka sa SQL naredbama, tako da bez obzira koju ekstenziju odaberete za svoju datoteku, njen sadržaj će u svakom slučaju biti isti. I ne zaboravite provjeriti dozvole pisanja direktorija u kojem će se nalaziti prije izvoza informacija iz MySQL-a kako bi se datoteka mogla kreirati.

Ako iznenada trebate napraviti dump svih baza podataka na serveru, koristite sljedeću opciju naredbe:

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

Za ispis samo nekoliko određenih baza podataka, morat ćete pozvati mysqldump sa sljedećim parametrima:

Mysqldump -u korisničko ime -p --baze podataka ime_baze1, ime_baze2, ... > put_i_ime_datoteke_dump

Kao rezultat toga, u svakom slučaju ćete dobiti MySQL dump baze podataka koji sadrži naredbe za kreiranje strukture sadržanih tabela (polja, njihovi tipovi, indeksi, ključevi, itd.), kao i operacije za njihovo popunjavanje podacima.

Ova opcija je prikladna samo za vraćanje i kopiranje cijelih baza podataka.

Dalje ćemo govoriti o tome kako napraviti sigurnosne kopije određenih MySQL tabela i dobiti njihove podatke u čitljivom obliku.

Izbacivanje MySQL tabele i izvoz podataka

Da bismo kreirali dump određenih MySQL tabela baze podataka, trebat će nam isti uslužni program mysqldump, pozvan sa sljedećim parametrima:

Mysqldump -u korisničko ime -p ime_baze_tablice_ime_1, ime_tabele2, ... > staza_i_dumpfile_name

Kada pozivate mysqldump, možete specificirati potrebne tablice kao vrijednost parametra --stolovi, kada se koristi parametar --baze podatakaće biti zanemareno:

Mysqldump -u korisničko ime -p --baze podataka ime_baze1, ime_baze2 --tabele ime_tabele1, ime_tabele2, ... > put_i_ime_datoteke

Gornji primjer će prikazati sljedeću grešku:

Mysqldump: Dobio sam grešku: 1049: Nepoznata baza podataka "ime_baze1" prilikom odabira baze podataka

Kao što vidite, koristit će se samo najnovija baza podataka sa liste. U principu, ovakvo ponašanje je sasvim logično, jer Navedene tabele se možda neće pojaviti u svim bazama podataka.

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

Ali šta ako samo trebate dobiti informacije pohranjene u njima i, po mogućnosti, u čitljivom obliku kako biste ih mogli poslati menadžeru i pregledati u običnom uređivaču teksta ili proračunskih tablica? MySQL takođe ima alate za ovo.

Mogućnost pozivanja komunalnog preduzeća pomoći će nam da ostvarimo svoje planove mysql sa konzole sa određenim parametrima:

Mysql -u korisničko ime -p ime_baze -e "IZABIR * IZ ime_tablice"

Ova komanda će nam omogućiti da izvršimo zahtjev za traženu bazu podataka i prikažemo rezultat u konzoli bez ulaska u komandna linija MySQL.

Pa, da ne bi izlazili podatke na konzolu, već da biste ih zapisali u datoteku, trebate dopuniti naredbu na sljedeći način:

Mysql -u korisničko ime -p -e "SELECT * FROM tablename" > path_and_filename

Zahvaljujući ovim konstrukcijama, ne možemo dobiti samo podatke pohranjene u svim poljima tabele, već iu pojedinim. Da biste to učinili, samo zamijenite zamjenske znakove (*) potrebnim, odvojenim zarezima.

Kao rezultat, izlaz će biti obična tekstualna datoteka koja će sadržavati nazive polja u obliku zaglavlja i informacije o njima za sve zapise. Može se otvoriti u običnom uređivaču teksta, bez obzira koju rezoluciju date prilikom kreiranja.

Ako želite da izvezete podatke iz MySQL baze podataka u xls ili csv formatu kako bi se rezultirajući fajl ispravno prikazao u uređivačima proračunskih tablica, reći ćemo vam kako to učiniti nešto kasnije :)

Kreiranje rezervnih kopija i izlaz podataka iz MySQL baze podataka pomoću upita

Razgovarali smo o tome kako da izbacujemo MySQL bazu podataka - jednu ili više, kao i pojedinačne tabele. Ali ponekad u praksi postoje slučajevi kada je potrebno da izvezete skup podataka koji nije ograničen na jednu tabelu. Ili trebate odabrati samo neke podatke iz tabele.

Programeri korporativnih projekata posebno se često susreću sa ovim kada menadžeri od njih traže da dostave sve vrste statističkih podataka. Ili kada trebate napraviti sigurnosnu kopiju određenog dijela tabele da biste ga brzo vratili.

Za backup će nam trebati isti uslužni program mysqldump, koji će se morati zvati ovako:

Mysqldump -u korisničko_ime -p ime_baze_datoteke ime_tablice --gdje "potraži" > put_i_ime_datoteke

Kao rezultat toga, dobit ćemo datoteku sa SQL naredbama za kreiranje tablice s cijelom strukturom, koja će nakon kreiranja biti popunjena informacijama odabranim pomoću upita za pretraživanje.

Ako samo trebamo dobiti podatke pohranjene u jednoj ili više tablica, onda ćemo morati modificirati naredbu korištenu u prethodnom slučaju prilikom preuzimanja svih podataka u tablici, samo uz neka pojašnjenja:

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

Kao što razumete, pored različitih pojašnjenja navedenih u zahtevu pomoću direktive GDJE, možete koristiti druge SQL konstrukcije: PRIDRUŽITE SE, UNION itd.

Možete prikupiti bilo koju vrstu statistike :)

Ista radnja se također može izvesti kada radite na MySQL komandnoj liniji koristeći sljedeću naredbu:

SELECT * FROM database_table WHERE traženje INTO OUTFILE "path_and_file_name";

Ova naredba je posebno dizajnirana za kreiranje datoteka s rezultatima uzorkovanja. Štaviše, rezultati se ne mogu samo eksportovati u datoteke, već i zapisati u varijable, a izlazni podaci se mogu formatirati na različite načine.

Ako je gore navedeno vaš slučaj, onda puna lista Parametre i opcije za pozivanje ove komande možete pronaći ovdje - https://dev.mysql.com/doc/refman/5.7/en/select-into.html

Da zaključim svoj kratki izlet u mysqldump, želio bih da dam varijantu pozivanja komande sa listom parametara za kreiranje optimizovanog dump-a MySQL baze podataka i tabela, vraćanje baze podataka i pojedinačnih tabela iz kojih će biti potrebno manje vremena nego sa redovni poziv:

mysqldump -u korisničko_ime -h host_ili_IP_MySQL_server -p --nema autokommita --opt ime_baze > staze i ime_datoteke_dump;

Koristio sam se za eksperiment ovu opciju kako bi se izbacila MySQL baza podataka veličine 143 MB. Naknadno vraćanje je trajalo 59 sekundi u poređenju sa 1 minutom i 3 sekunde kada je baza podataka vraćena iz dumpa napravljenog pozivom mysqldump bez posebnih parametara.

Slažem se da je ovo mala stvar. Ali to je samo u slučaju dati volumen podaci. Ako koristite ovu tehniku kada kreirate dump veći od 1GB, razlika će biti značajnija.

Ako naiđete na takvu situaciju, ne zaboravite prvo arhivirati MySQL dump baze podataka. Najbolji je tar.gz. Tada će oporavak trajati još manje vremena.

Izvezite podatke iz MySQL u Excel i csv datoteke

Nije uzalud spojio informacije o izlazu informacija iz MySQL-a u ova dva formata u jednom bloku, jer... veoma su slične, koriste se na približno isti način (za strukturiranje informacija u obliku tabela) i biće pozvane iste komande za izvoz.

Kao što znate, jedina značajna razlika između ovih formata je u tome što ekstenzije xls i xlsx imaju datoteke kreirane u Microsoft program Office Excel, koji radi samo pod Windowsom, dok su csv datoteke univerzalnije i operacije s njima su moguće u mnogim uređivačima.

To ne znači da je xls bilo gdje osim microsoft office Excel se neće otvoriti. Isti OpenOffice potvrđuje suprotno.

Ali da bi to bilo moguće, ova podrška mora biti prisutna u softverskom proizvodu. csv datoteke su čitljive čak iu običnom uređivaču teksta kao što je Notepad, ali ovaj obrazac neće biti u potpunosti čitljiv.

Dozvolite mi da počnem sa činjenicom da se samo rezultati mogu izvesti u xls ili csv SQL upiti, sa kojim smo ranije naučili da radimo, jer biće nemoguće izvesti cijelu bazu podataka u jednu datoteku u jednoj operaciji.

Prvo, ovo nije optimalno, jer... mala je vjerovatnoća da će se takva datoteka otvoriti ako postoji velika količina informacija pohranjenih u bazi podataka. I, drugo, nije jasno kako podijeliti informacije unutar datoteke u tabele i polja.

Ne, to je, naravno, moguće učiniti, ali je malo vjerovatno da će to biti učinjeno jednom komandom i općenito je malo vjerovatno da će to neko učiniti u konzoli. Mislim da će vam za ove svrhe trebati poseban softver ili barem skripta.

Ako odjednom znate kako možete izvesti informacije iz cijele MySQL baze podataka u jednu ili više xls datoteka u konzoli odjednom, onda pišite o tome u komentarima. Mislim da će čitanje o ovome biti korisno za mnoge.

Dakle, ako govorimo o tome kako izvesti podatke iz MySQL u xls i csv, onda se to može učiniti direktno u konzoli servera putem uslužnog programa mysql ili u radu s kojim sam vas upoznao u svom prethodnom članku.

Počnimo redom.

Možete izvesti podatke iz MySQL baze podataka u csv i xls formate direktno u konzoli servera koristeći sljedeće naredbe.

On Linux sistemi:

Mysql -u korisničko ime -d ime_baze -p -e "IZABIR * IZ tablice_baze podataka;" | sed "s/"/\"/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > path_and_file_name. csv

U principu, ako je apsolutno neophodno, ovu naredbu možete koristiti za izvoz MySQL podataka u Excel datoteku. Ali, da budem iskren, nisam se time bavio u praksi i nemam pojma šta će na kraju ispasti, jer... Trenutno radim na Windows-u. Ako koristite ovu naredbu pod Linuxom, molimo napišite u komentarima rezultate svog rada. Mislim da će informacije biti interesantne svima.

On Windows:

Nažalost, izvoz podataka iz MySQL tabela u csv pomoću gornje naredbe neće raditi u ovom slučaju, jer Windows, za razliku od Linuxa, nema ugrađeni program naredba konzole za rad sa nitima, koji je sed u Linuxu.

Naravno, možete ga instalirati, ali to je previše muke. Alternativno, možete koristiti CygWin— Emulator Linux konzole za Windows sisteme.

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

Ali izdvajanje informacija u xls datoteku je jednostavno za 5 kopejki :) Vrlo je lako pokrenuti ga na sljedeći način, što sam lično isprobao:

Mysql -u korisničko ime -d ime_baze -p -e "IZABIR * IZ tablice_baze podataka;" > path_and_file_name.xls

Otvoreno ovaj fajl u Microsoft Office Excel-u bez ikakvih problema. Jedina stvar je da se prilikom otvaranja na ekranu pojavila poruka koja upozorava da se stvarni format datoteke koja se otvara razlikuje od naznačene ekstenzije.

Ali prilikom potvrde radnje, dokument se otvorio bez poteškoća - sve su informacije podijeljene u ćelije u obliku u kojem su pohranjene u samoj tablici.

Ne znam, možda ako izvršite neke konkretne radnje u Microsoft Office Excel-u, u budućnosti će nastati problemi; nisam tako duboko kopao. Barem kada sam normalno pregledao podatke, nisam vidio ništa neobično.

Ako naiđete na bilo kakve probleme dok koristite xls datoteku izvezenu iz MySQL-a, bilo u ovom programu ili u nekom drugom, javite mi u komentarima.

Koristeći gore opisanu metodu, možete u principu izvesti sadržaj MySQL baze podataka u csv datoteku. Ali tada će podaci iz različitih polja tabele biti upisani masovno, bez graničnika, što možda neće biti dobro prikazano u razne programe za rad sa tabelama, u kojima obično rade sa csv fajlovima.

OpenOffice, inače, nije briga :) Automatski je razgraničio informacije dobijene na način na koji smo eksportovali sadržaj MySQL baze podataka u xls. Ne znam kako to radi, ali preporučujem da ga koristite :)

Pa, isti Microsoft Office Excel je prikazao sve informacije koje odgovaraju jednom zapisu u tabeli, upisujući ih u jednu ćeliju bez ikakvih graničnika. Mislim da će i drugi urednici tablica učiniti isto.

Stoga, kada izvozite MySQL bazu podataka u csv datoteke, morate to učiniti tako što ćete informacije odvojiti posebnim znakovima koje urednici razumiju.

A onda sam postepeno pristupio drugoj metodi MySQL izvoz podatke u csv i xls, što uključuje korištenje MySQL komandne linije.

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

SELECT * FROM database_table INTO OUTFILE "path_and_file_name.csv" POLJA ZAVRŠENA SA "," ZATVORENA SA """ REDOVIMA ZAVRŠENA SA "\n";

Kao rezultat njegovog izvršenja, dobićete csv datoteku na putanji koju ste naveli prilikom poziva, koja će se ispravno otvoriti u većini modernih uređivača tabela. Za svaki slučaj, podsjećam te da trčiš ovu naredbu potrebno samo nakon povezivanja na MySQL bazu podataka.

Ova komanda je takođe odlična za izvoz MySQL podataka u xls datoteku za ispravan prikaz u Microsoft Office Excel-u. Samo u ovom slučaju ne trebaju nam separatori, jer oni će ometati podjelu informacija u ćelije:

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

Međutim, u praksi nije sve tako jednostavno kao što sam opisao. Dok izvodite naredbu, možete naići na sljedeću grešku u konzoli koja sprječava dovršetak izvoza:

GREŠKA 1290 (HY000): MySQL server radi sa opcijom --secure-file-priv tako da ne može izvršiti ovu naredbu

To je uzrokovano činjenicom da je vaš MySQL server pokrenut sa opcijom --secure-file-priv. Lično sam naišao na ovaj problem zbog činjenice da za rad u konzoli koristim MySQL distributivni komplet uključen u WAMP OpenServer komplet, koji zauzvrat pokreće MySQL server na ovaj način.

Postoje dva načina za rješavanje problema:

  • Promijenite parametre pokretanja MySQL servera
  • Promijenite putanju do konačnog MySQL datoteke za izvoz

Prva metoda mi se učinila previše komplikovanom, jer... Morao bih da se udubim u konfiguraciju OpenServera, koju nisam napisao sa svim okolnostima koje su proizašle iz toga 🙂 Stoga sam odlučio da krenem drugim putem. Ako naiđete na sličan problem, ponovite za mnom.

Prvo morate otići na MySQL komandnu liniju i pokrenuti jednu od sljedećih naredbi:

PRIKAŽI VARIJABLE KAO "secure_file_priv"; SELECT @@GLOBAL.secure_file_priv;

Rezultat izvršenja oba bit će vrijednost MySQL globalne varijable secure_file_priv, koji sadrži putanju do direktorijuma kroz koji se mogu izvršiti operacije izvoza i uvoza MySQL podataka (u budućnosti link na članak o uvozu podataka).

One. kada koristite komande LOAD DATA I SELECT... INTO OUTFILE izvezene i uvezene datoteke mogu se nalaziti samo unutar ovog direktorija.

U mom slučaju, ova varijabla je općenito bila postavljena na NULL, jer Ja, kao što sam već rekao, koristim MySQL uslužne programe iz distribucije uključene u OpenServer za rad u konzoli. Ova vrijednost ukazuje da su operacije izvoza i uvoza MySQL podataka koje koriste navedene komande potpuno zatvorene.

Kako se kasnije ispostavilo, ovo je uobičajena situacija kada se koriste WAMP i MAMP serveri u kutijama.

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

SET ime_varijable = vrijednost;

Kao rezultat, vidio sam samo sljedeću grešku na konzoli:

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

Kao rezultat, promijeniti vrijednost varijable secure_file_priv i otvorim operacije izvoza i uvoza, morao sam ući u MySQL konfiguracijsku datoteku mysql.ini, koja se nalazi u korijenskom direktoriju MySQL distribucije, ili joj se može pristupiti na drugi način ako je MySQL uključen u vaš WAMP/LAMP/ Izrada MAMP servera.

Usput, ako želite promijeniti putanju do direktorija spool razmjene datoteka, morat ćete učiniti isto.

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

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

Ako ga nemate, napišite ga od nule u odjeljku (barem se kod mene tamo nalazio).

Dekomentirao sam ga i odlučio da ga koristim u obliku u kojem je napisan. One. kada izvozim podatke iz MySQL-a i uvozim ih nazad, moji fajlovi će sada biti pohranjeni u direktorijumu c:\openserver\userdata\temp\.

Nakon promjene konfiguracije (bilo koja, usput rečeno), ne zaboravite ponovo pokrenuti server ili zaseban servis čije ste postavke uredili, ako je moguće, kako bi promjene stupile na snagu!

Da biste bili sigurni, nakon ponovnog pokretanja MySQL servera, ponovo prikažite varijablu secure_file_priv i kopirajte njegovu vrijednost u međuspremnik.

I sada trebamo pozvati naredbu kao na početku, samo prije imena datoteke u koju će biti spremljene informacije iz MySQL baze podataka, upisati putanju pohranjenu u varijabli koju mijenjamo u sljedećem obliku:

SELECT * FROM database_table INTO OUTFILE "secure_file_priv_value\file_name.csv";

Nakon ovoga, izvoz podataka iz MySQL-a je proradio u mom slučaju.

Važna tačka! Ako radite sa MySQL pod Windowsom, onda ne zaboravite promijeniti “\” u “/” kada navedete putanju do datoteke, inače će greška biti --secure-file-priv i dalje će se pojavljivati.

Ovim je završen članak o tome kako dampirate MySQL bazu podataka i njene tabele, kao i izlazne podatke iz MySQL tabela u različite formate. Napišite svoje recenzije u komentarima i podijelite sa svima svoje opcije skripte koje najčešće koristite u praksi.

Ako vam se dopao članak, možete se zahvaliti autoru ponovnim objavljivanjem članka društvenim medijima ili finansijski koristeći formu ispod, tako da možete platiti osnovni hosting.

Sretno svima i vidimo se opet! 🙂

P.S.: ako vam je potrebna web stranica ili trebate napraviti izmjene na postojećoj, a nemate vremena ili želje za to, mogu vam ponuditi svoje usluge.

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

Ako jesi rezervna kopija ili izvezete svoju bazu podataka u SQL datoteku, možete je uvesti u jednu od MySQL baza podataka vašeg hosting naloga putem phpMyAdmin.

Bilješka. Ne bi trebalo da postoji linija CREATE DATABASE u MySQL bazi podataka. U suprotnom, uvoz može biti neuspješan.

Interfejs phpMyAdmin vam omogućava da uvezete 8 MB podataka odjednom. Ako trebate uvesti veću datoteku, podijelite je na nekoliko dijelova od 8 MB.

Pažnja! Ako uvozite bazu podataka za upravljani WordPress hosting kako bi vaša web stranica radila bez problema.

Uvoz SQL datoteka u MySQL baze podataka koristeći phpMyAdmin

Nakon toga, SQL datoteka će se pokrenuti i ažurirati bazu podataka koju ste odabrali u SQL datoteci. Vraćanje baze podataka može potrajati nekoliko minuta.

Bilješka. Ako dobijete poruku o grešci Vremensko ograničenje skripte je prošlo, ako želite da završite uvoz, ponovo pošaljite istu datoteku i uvoz će se nastaviti, možete odmah odabrati istu datoteku i nastaviti proces.

Ova lekcija pokriva važna pitanja kao što su izvoz baze podataka I uvoz baze podataka MySQL. Možda ćete pitati, zašto uopće izvoziti baze podataka? Obično se to radi s razlogom Rezervna kopija baza podataka tako da je uvijek pri ruci, kako kažu, samo u slučaju nužde. Na kraju krajeva, niko nije imun od okolnosti više sile, kao što su nesreće na hostingu, koje mogu dovesti do gubitka podataka. Drugi primjer može biti napad hakera koji žele da naškode vašoj web stranici. Zapravo, takvih primjera može biti mnogo.

Uvoz baze podataka se koristi kada trebate “ponovno uploadati” bazu podataka na vaš trenutni hosting ili kada prelazite na drugi hosting. To u praksi često rade i webmasteri.

Sami izvoz baze podataka I uvoz baze podataka- zadaci su jednostavni. Vrijedno je izvršiti ove radnje jednom kako biste zapamtili algoritam za njihovu provedbu do kraja života. Pogledajmo kako se sve to radi na primjerima.

Da biste izvezli bazu podataka, potrebno je da odete na administrativni panel hostinga, a zatim idite na odeljak baze podataka - MySQL baze podataka.

Izaberite bazu podataka koju želimo da izvezemo (idite na phpMyAdmin). IN u ovom primjeru baza podataka se zove "cl209038".

1) U prvom slučaju odaberite “Fast”, ostavite format kao SQL i pritisnite dugme “OK”. Kao rezultat toga, kopija baze podataka će biti preuzeta na naš računar.

2) U drugom slučaju odaberite “Normalno”. Pojavit će se stranica s postavkama izvoza baze podataka. Izaberite sve tabele, izaberite nivo kodiranja i kompresije, kao što je prikazano ispod. Ostalo, po pravilu, nije potrebno mijenjati. Kliknite na dugme “OK” i baza podataka će biti izvezena na naš računar.

To je sve, kao što vidite, izvoz baze podataka MySQL nije težak zadatak.

Da biste uvezli bazu podataka, također morate otići na hosting admin panel i otići u odjeljak sa MySQL bazama podataka. Ovdje postoje dvije opcije - ili trebate kreirati novu bazu podataka ili izvesti u postojeću.

Kreiranje baze podataka će biti potrebno, na primjer, ako premještamo stranicu na drugi hosting. Ako još uvijek imamo isti hosting, a baza podataka je već kreirana, možete jednostavno odabrati ovu bazu podataka i „ponovno učitati“ podatke u nju. Možete ga, naravno, obrisati, a zatim kreirati novu (praznu) i postaviti na nju.

1) Baza podataka već postoji. Odabiremo bazu podataka u koju ćemo uvesti našu kopiju baze podataka. Pojaviće se meni za uvoz baze podataka.

Odaberite datoteku kopije baze podataka koju želite uvesti. Ako je potrebno, možete promijeniti kodiranje i format baze podataka. Zatim kliknite na dugme “OK”. Nakon uvoza, sistem će nas obavijestiti da li je sve prošlo kako treba ili je došlo do grešaka tokom procesa. Ako dođe do greške, možete pokušati izbrisati bazu podataka na hostingu, zatim kreirati praznu bazu podataka i ponovo uvesti bazu podataka.

2) Kreiranje nove baze podataka. Idite na hosting admin panel i odaberite odjeljak sa MySQL bazama podataka. Ulazimo u upravljanje MySQL bazom podataka.

Odredite željeno ime baze podataka i lozinku za nju. Kliknite na dugme „Kreiraj“. Kao rezultat, trebalo bi kreirati novu (praznu) bazu podataka - u nju ćemo morati uvesti prethodno sačuvanu kopiju naše baze podataka.

To je sve što sam želio da vam kažem o izvozu i uvozu MySQL baza podataka. Ako imate bilo kakvih poteškoća u vezi s ovim pitanjima, napišite komentare na ovu lekciju.

Prilikom prijenosa web stranice sa lokalnog servera na hosting, jedna od obaveznih procedura je izvoz/uvoz baze podataka. Stoga ću u ovom članku pokušati što detaljnije opisati proces izvoza i uvoza baze podataka sa lokalnog servera, odnosno sa web sučelja PHPMyAdmin verzija 3.2.3 za hosting.

Prva stvar koju treba uraditi je trčati lokalni server, u ovom slučaju to je Denwer. Nakon pokretanja Denwera, potrebno je da otvorite svoj pretraživač i unesete u liniju pretraživača: “http://localhost/tools/phpmyadmin”, nakon čega će se otvoriti prozor ispred vas(Sl.1)sa prethodno kreiranim baze podataka.

Fig.1

Zatim moramo odabrati bazu podataka koju ćemo izvesti, u mom slučaju to je baza podataka pod nazivom Mybd. Možete odabrati bazu podataka klikom na nju na lijevoj strani prozora pretraživača, gdje piše “Molimo odaberite bazu podataka” (slika 2).


Fig.2

Nakon odabira željene baze podataka, otvorit će se prozor sa strukturom baze podataka. Postoji stavka u gornjem meniju "izvoz" uz pomoć kojih ćemo eksportovati bazu podataka na računar, a zatim je uvesti na hosting. I tako, idite na stavku "Izvoz". (Sl.3).


Fig.3

U prozoru koji se otvori potrebno je izvršiti neka mjerenja (Sl.4), naime: u bloku “Izvoz” potrebno je da odaberete sve tabele baze podataka klikom na stavku "Označi sve" i označite polje pored stavke SQL, ova stavka je odgovorna za vrstu datoteke koja će biti izvezena. Takođe, morate označiti polje pored "Sačuvaj kao fajl", što će osigurati da baza podataka bude sačuvana u datoteci. Nema potrebe da menjate bilo koje druge postavke, samo pritisnite dugme "idi".

Fig.4

Sada, ako ste sve uradili kako treba, datoteka baze podataka bi trebalo da se preuzme na vaš računar. Koristeći ovu datoteku ćemo uvesti bazu podataka na hosting.

Također, morate promijeniti kodiranje datoteke u UTF-8 bez BOM-a, da promijenite kodiranje koje koristim uređivač teksta Notepad++(Skinuti ) . Pomoću ovog programa otvarate datoteku baze podataka iu izborniku "kodiranje" izabrati “Pretvori u UTF-8 bez BOM-a” (slika 5), zatim sačuvajte i zatvorite.


Sl.5