Kako spremiti sql bazu podataka. Kako brzo migrirati MySQL bazu podataka pomoću aplikacija Quick Export Way

💖 Sviđa vam se? Podijelite vezu sa svojim prijateljima

Koji su načini?

1 - pomoću phpMyAdmin sučelja.

2 - pomoću upravljačke ploče pružatelja usluga hostinga.

3 - pomoću programa treće strane.

Koji je način bolji?

Preporučujemo prvu, jer njegova shema je jednostavna i koristi je većina webmastera. Treću metodu ne preporučamo! Nikad ne vjerujte sadržaju svoje stranice programi trećih strana, osim od nerazumljivih programera. Također možete koristiti drugu metodu, ali njen algoritam je vrlo različit i ovisi o upravljačkoj ploči hostera. Stoga ćemo detaljno razmotriti prvu opciju i reći vam kako kompetentno prenijeti MySQL baze podataka bez gubitka ili oštećenja podataka.

Napravite bazu podataka na novom hostingu

Ako želite migrirati MySQL bazu podataka, tada već imate bazu podataka i znate kako je izraditi. U svakom slučaju, ovaj proces je drugačiji za svakog pružatelja hostinga, ali se svodi na jedan opći algoritam:

1 - Tražimo odjeljak “MySQL”, “Baze podataka” ili nešto slično.

2 - U njemu kliknite "Stvori".

3 - Unesite naziv baze, pričvrstite joj korisnika (obično je korisnik baze već kreiran, ako nije, onda ga kreirajte i postavite najveća prava) i unesite lozinku za bazu.

4 - Baza je kreirana, ali je trenutno prazna.

Izvoz baze sa starog hostinga

Sada ćemo koristiti ono što se naziva dump baze podataka. Oni. spremite trenutnu bazu podataka s poslužitelja na svoje računalo. Da bismo to učinili, potrebno nam je phpMyAdmin sučelje koje se mora pronaći u osobni račun davatelj usluga hostinga koji ugošćuje vašu trenutnu stranicu. Opet, ne postoji jedinstveni algoritam, stoga predstavljamo opću shemu:

2 - Lijevo u kutu odaberite svoju bazu podataka (onu koju ćete eksportirati na svoje računalo da je kasnije možete prebaciti na drugi hosting).

4 - Od vas se može tražiti da odaberete metodu izvoza "Normalno" (više postavki) ili "Brzo" (malo postavki). Nije važno koju odabrati, glavna stvar je promijeniti samo one postavke koje opisujemo u nastavku.

5 - Morate odabrati sve stolove klikom na gumb “Odaberi sve”.

7 - Za svaki slučaj zapamtite kodiranje, ali ga ne dirajte.

8 - Kliknite "OK" i spremite datoteku iz baze podataka na svoje računalo. Obično spremljena datoteka ima nastavak .sql.

Uvoz baze podataka na poslužitelj novog hosta

1 - Na isti način tražimo phpMyAdmin na novom hostingu.

2 - U njemu odaberite željenu bazu (napravili smo je na početku članka, a ostala je prazna).

3 - Kliknite na karticu "Uvoz".

4 - Kliknite "Pregledaj" i odaberite bazu podataka spremljenu na računalu.

5 - Provjerite odgovara li kodiranje onom u kojem ste spremili bazu podataka.

6 - Nemojte ništa više mijenjati, kliknite "OK" i vaša baza podataka bit će uvezena na novi hosting.

Koji su problemi?

1 - Prilikom uvoza baze podataka, ona ne bi trebala sadržavati upite poput " STVARANJE BAZE PODATAKA, /*!40101 SET @OLD". Da biste provjerili njihovu prisutnost - otvorite datoteku baze podataka na računalu s bilo kojim uređivač teksta(Notepad++ radi najbolje) i koristite Ctrl+A za traženje ovih upita. Ako ga pronađete, jednostavno ih izbrišite i pokušajte ponovno uvesti bazu podataka.

2 - Prilikom uvoza baza podataka koja se nalazi na novom hostu mora biti prazna, ako u njoj već postoje tablice - odaberite ih i izbrišite.

Korištenje DirectAdmin ploče; Korištenje web sučelja phpMyAdmin; Korištenje skripte Sypex Dumper; Korištenje naredbenog retka poslužitelja

Metoda #1: Izvoz pomoću ploče DirectAdmin

Ploča DirectAdmin ima odjeljak koji kontrolira baze podataka, odjeljak MySQL Management. Ovaj odjeljak prikazuje popis korisničkih baza podataka i osnovnih kontrola:

stvaranje i brisanje baze podataka;

uređivanje baze podataka (phpMyAdmin sučelje);

oporavak oštećene baze podataka;

provjera tablica baze podataka;

optimizacija tablica baze podataka;

uvoz baze podataka;

upravljanje korisnicima baze podataka;

izvoz baze podataka;

U ovaj trenutak zanima nas zadnja točka. Pored svake baze podataka nalazi se link "Preuzmi"

U tom će slučaju preglednik od vas tražiti da datoteku spremite na svoje lokalno računalo.<имя базы>.gz, u ovom primjeru datoteka user_database.gz. Datoteka se daje komprimirana kao gz arhiva.

Metoda #2: Izvoz pomoću web sučelja phpMyAdmin.

phpMyAdmin je web aplikacija otvorenog koda. izvorni kod, napisan u PHP-u i predstavlja web sučelje za administriranje MySQL DBMS-a. phpMyAdmin vam omogućuje administriranje MySQL poslužitelja putem preglednika, izvršavanje SQL upita i pregled sadržaja baza podataka i tablica. Aplikacija je vrlo popularna među web programerima jer vam omogućuje upravljanje MySQL bazom podataka pomoću prijateljskog sučelja, bez potrebe za složenim SQL upitima za obavljanje jednostavnih zadataka.

Za odlazak na phpMyAdmin web sučelje, odaberite odgovarajuću stavku na Direct Admin panelu:

Za pristup phpMyAdmin-u potrebno je unijeti login i lozinku korisnika baze koju ste naveli prilikom kreiranja baze. Prvo što trebamo učiniti nakon ulaska u phpMyAdmin sučelje je odabrati bazu podataka koja nas zanima s popisa:

Razmotrimo svaku stavku detaljnije.

1. Izvoz. Ova stavka nam omogućuje da istaknemo tablice koje je potrebno uključiti u sigurnosnu kopiju baze podataka. Prema zadanim postavkama, sve će tablice biti uključene u sigurnosnu kopiju.

2. Format sigurnosne kopije. Postoji nekoliko formata sigurnosne kopije koje možete izabrati, u ovom slučaju odabiremo SQL vrstu. Preostale metode koriste se pri obavljanju specifičnih zadataka i koriste se vrlo rijetko.

3. Vrlo važna točka je potvrdni okvir "Spremi kao datoteku". Ako je ovaj potvrdni okvir označen, od vas će se tražiti da preuzmete sigurnosnu kopiju. U suprotnom, tekstualna verzija sigurnosne kopije bit će prikazana u obliku MySQL upita.

4. Predložak naziva datoteke. Prema zadanim postavkama, naziv datoteke će izgledati ovako:<имя базы>.<формат файла>, u našem primjeru to je user_database.sql.

5. Kompresija. Ova stavka omogućuje odabir metode kompresije datoteke:

bez kompresije, tj. datoteka u sql formatu, veličina datoteke će odgovarati veličini baze podataka;

zip, tj. datoteka u .zip formatu arhive, veličina datoteke će se smanjiti arhiviranjem sigurnosne kopije;

gzip, tj. datoteka u .gz formatu, veličina datoteke će se smanjiti arhiviranjem sigurnosne kopije;

Nakon odabira svih potrebnih parametara, samo kliknite gumb "OK" i pričekajte da se sigurnosna kopija pripremi. Ako je baza podataka velika, priprema sigurnosne kopije može potrajati. Kao rezultat toga, od vas će se tražiti da datoteku sigurnosne kopije baze podataka spremite na lokalno računalo.

Metoda #3: Izvoz pomoću skripte Sypex Dumper.

Sypex Dumper je programski proizvod (PHP skripta) s kojim možete jednostavno i brzo napraviti backup (backup, dump) MySQL baze podataka, kao i vratiti bazu iz backupa ako je potrebno. Službena stranica skripte: http://sypex.net/. Na stranici možete besplatno preuzeti Sypex Dumper skriptu, te pročitati dokumentaciju za rad s ovim proizvodom. Sypex Dumper vam omogućuje rad s bazama podataka gotovo bilo koje veličine. Razmotrit ćemo skriptu koristeći verziju Sypex Dumper Lite 1.0.8 kao primjer, ova verzija skripte je najlakša za korištenje.

Preuzmite samu skriptu, raspakirajte arhivu i uploadajte datoteku dumper.php na svoj server, u direktorij public_html. Za ispravan rad skripte, morat ćete stvoriti direktorij za pohranjivanje sigurnosnih kopija (dumpova) baza podataka. Da biste stvorili direktorij, idite na Upravitelj datoteka na izravnoj administratorskoj ploči, prijeđite na public_html direktorij i izradite novi rezervni direktorij.

Prijeđimo izravno na rad sa skriptom Sypex Dumper. Skripta se poziva iz adresne trake preglednika: http://example.com/dumper.php, gdje je example.com vaša domena. Skripta će od vas tražiti da unesete svoje korisničko ime i lozinku. Morat ćete unijeti korisničku prijavu baze podataka i korisničku lozinku baze podataka koje ste naveli prilikom izrade baze podataka.

Nakon toga, skripta će od vas zatražiti da odaberete radnju na svojim bazama podataka: "Sigurnosna kopija / Napravi sigurnosnu kopiju baze podataka" i "Vrati / Vrati bazu podataka iz sigurnosne kopije". Zanima nas prva točka.

Stavka "DB" omogućuje odabir željene baze podataka s popisa vaših baza podataka. Filtar tablice omogućuje vam da odredite tablice koje će biti uključene u sigurnosnu kopiju. Više detaljne informacije O filtrima možete saznati na web stranici programera skripte Sypex Dumper. U stavci "Metoda kompresije" možete odrediti hoće li se Gzip kompresija primijeniti prilikom izrade sigurnosne kopije (zapakirana datoteka s nastavkom .gz) ili će se ona spremiti sigurnosna kopija u .sql formatu. Stavka Razina kompresije koristi se samo ako je odabrana metoda kompresije Gzip. Što je veća vrijednost ovog parametra, to će biti manja veličina datoteke.

Nakon odabira svih opcija za izradu sigurnosne kopije kliknite gumb Primijeni. Sigurnosna kopija će započeti, sam proces će se prikazati na zaslonu monitora:

Nakon završetka procesa dobit ćete zapisnik o stvaranju sigurnosne kopije, kao i ponudu za preuzimanje datoteke sigurnosne kopije. Ako želite nastaviti raditi sa Sypex Dumper skriptom, kliknite gumb Povratak. Vrijedno je napomenuti činjenicu da će sigurnosna kopija stvorena ovom skriptom biti pohranjena u direktoriju sigurnosne kopije koji smo prethodno stvorili, tj. nije potrebno preuzimati sigurnosnu kopiju, može se pohraniti na poslužitelju, u backup direktoriju.

Metoda #4: Izvoz pomoću skripte Sypex Dumper.

Ova metoda je dostupna samo onim korisnicima koji imaju pristup SSH (Secure SHell, daljinski upravljač operacijski sustav). Da biste izvezli sigurnosnu kopiju baze podataka, morate se povezati putem SSH-a s poslužiteljem (na primjer, pomoću Putty ssh klijenta ako imate Windows OS ili pomoću terminala ako imate Linux OS).

Nakon spajanja na naredbeni redak samo pokrenite sljedeću naredbu:

mysqldump -uUSER -pPASS DBNAME > /path/to/dump.sql

Gdje je "-u" parametar koji navodi korisničko ime baze podataka za povezivanje (KORISNIK), "-p" je parametar koji navodi lozinku korisnika baze podataka za povezivanje (PASS), DBNAME je ime baze podataka , "/path/to /dump.sql" je puna staza do datoteke sigurnosne kopije baze podataka. Pogledajmo naš primjer naredbe. Pretpostavimo da se datoteka sigurnosne kopije nalazi u direktoriju domains/example.com/public_html/backup (gdje je exapmle.com naziv vaše domene), korisničko ime baze podataka je “user_user”, lozinka je “Ide2eib6?, naziv baze podataka je “user_database ”, naziv backup - dump.sql, datoteka sigurnosne kopije nalazi se na domenama/example.com/public_html/backup/.

U ovom slučaju, naredba za uvoz baze podataka izgledat će ovako:

mysqldump -uuser_user -pIde2eib6 korisnička_baza > domene/example.com/public_html/backup/dump.sql

Ako nakon izvršenja ove naredbe operacijski sustav ne javlja pogreške pri izvozu, sigurnosna kopija je uspješno izvezena. Veličina sigurnosne kopije baze podataka nije važna.

Razmotrene metode su univerzalne i omogućuju rješavanje bilo kojeg problema izvoza baze podataka.

Zadnja izmjena: 31.10.2015

Spremanje u bazu podataka datoteka

Pogledajmo kako možemo spremiti datoteke, posebno slikovne datoteke, u bazu podataka. Da biste to učinili, dodajte novu tablicu Slike u bazu podataka s četiri stupca: Id (primarni ključ i identifikator, ima tip int), FileName (pohranit će naziv datoteke i tipa je nvarchar), Naslov (pohranit će naslov datoteke datoteka i također je tipa nvarchar) i ImageData (sadržavat će binarne podatke datoteke i tipa je varbimary(MAX)).

Definirajmo kod u kojem će se podaci učitavati u tablicu:

Private static void SaveFileToDatabase() ( string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) (connection.Open(); SqlCommand naredba = nova SqlCommand(); command.Connection = veza; command.CommandText = @"INSERT INTO Images VALUES (@FileName, @Title, @ImageData)"; command.Parameters.Add("@FileName", SqlDbType.NVarChar, 50 ); command.Parameters.Add("@Title", SqlDbType.NVarChar, 50); command.Parameters.Add("@ImageData", SqlDbType.Image, 1000000); // put do datoteke za učitavanje niza naziv datoteke = @" C:\Users\Eugene\Pictures\cats.jpg"; // naslov datoteke string title = "Mačke"; // получаем короткое имя файла для сохранения в бд string shortFileName = filename.Substring(filename.LastIndexOf("\\")+1); // cats.jpg // массив для хранения бинарных данных файла byte imageData; using (System.IO.FileStream fs = new System.IO.FileStream(filename, FileMode.Open)) { imageData = new byte; fs.Read(imageData, 0, imageData.Length); } // передаем данные в команду через параметры command.Parameters["@FileName"].Value = shortFileName; command.Parameters["@Title"].Value = title; command.Parameters["@ImageData"].Value = imageData; command.ExecuteNonQuery(); } } !}

Nakon izvođenja ovog programa, odgovarajući unos pojavit će se u bazi podataka:

Dohvaćanje datoteka iz baze podataka

U prošloj smo temi pogledali kako dodati datoteku u bazu podataka. Sada izvršimo obrnutu operaciju - dohvatimo datoteku iz baze podataka. Prvo, definirajmo klasu datoteke koja će olakšati rad s podacima:

Javna klasa Slika ( javna slika (int id, string naziv datoteke, string naslov, bajt podataka) ( Id = id; FileName = filename; Title = title; Data = data; ) public int Id ( get; private set; ) public string FileName ( dobiti; privatni skup; ) javni niz Naslov ( dobiti; privatni skup; ) javni bajt Podaci ( dobiti; privatni skup; ) )

Zatim u programskom kodu definirajte sljedeću metodu:

Private static void ReadFileFromDatabase() ( string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"; List slike = novi popis (); koristeći (SqlConnection veza = nova SqlConnection(connectionString)) ( veza.Open(); niz sql = "SELECT * FROM Images"; SqlCommand naredba = nova SqlCommand(sql, veza); SqlDataReader čitač = naredba.ExecuteReader(); while( reader.Read()) ( int id = reader.GetInt32(0); string filename = reader.GetString(1); string title = reader.GetString(2); byte data = (byte)reader.GetValue(3); slika slika= nova slika (id, naziv datoteke, naslov, podaci); slike.Dodaj(slika); ) ) // spremi prvu datoteku s popisa if(images.Count>0) ( koristeći (System.IO.FileStream fs = new System.IO.FileStream(images.FileName, FileMode.OpenOrCreate)) ( fs.Write( slike. Podaci, 0, slike.Podaci.Dužina); Console.WriteLine("Slika "(0)" spremljena", slike.Naslov); ) ) )

U ovoj metodi, pomoću SqlDataReader-a, dobivamo vrijednosti iz baze podataka i iz njih stvaramo Image objekt koji se zatim dodaje na popis. I na kraju pogledamo, ako ima elemenata na listi, onda uzmemo prvi element i spremimo ga na lokalno računalo. A nakon spremanja, datoteka učitana iz baze podataka pojavit će se u mapi našeg programa.

Pozdrav prijatelji! Članak se odnosi na blogosferu iu njemu ćemo razmotriti spremanje baze podataka stranice na TimeWeb hosting.

TimeWeb hosting, baza web stranica

Svaka osoba koja je napravila vlastitu stranicu (blog) zna da je povremeno potrebno spremiti bazu podataka svoje stranice. Za to postoje razlozi.

Može biti tehnički problemi na hostingu, napadači mogu pokupiti lozinku za administratorsku ploču vaše stranice i druge probleme. Ljudi imaju različite stavove o učestalosti spremanja baze podataka, ali one moraju biti spremljene nedvosmisleno. U početnom razdoblju, nakon kreiranja vlastitog bloga (pisala sam u članku), znala sam da moram napraviti njegovu kopiju. Moj prvi pokušaj bio je neuspješan, iako tu nema ništa komplicirano (naučio sam to kasnije). Jasno je da ni on nije mogao optimizirati bazu podataka.

Gledao sam članke na internetu, ali piše, općenito. Nakon nekoliko pokušaja i pogrešaka, sve je uspjelo. Stoga sam odlučio napisati kratak članak o tome kako napraviti kopiju baze podataka stranice na HDD možda će moje iskustvo biti od koristi.

Stranica se nalazi na TimeWeb hostingu (WordPress engine). Bazu podataka o stranici spremam jednom tjedno, netko to radi češće, netko rjeđe - to je svačiji posao. Potrebno je spremiti dvije glavne strukture stranice, ovo je datotečni sustav i baza podataka stranice. U sustav datoteka uključuje: WordPress mehanizam, instalirane teme, dodatke i slike.

Baza podataka uključuje sadržaj stranice (stranice, članke, komentare). TimeWeb hosting konstantno radi sigurnosne kopije i pohranjuje ih za zadnja tri dana. Podatke možete spremiti iz admin panela, možete direktno s hostinga, ja to radim prema drugoj opciji.

Dakle, idite na hosting na upravljačkoj ploči (slika 1).

Pritisnite gumb "Upravljanje sigurnosnom kopijom". U prozoru koji se otvori kliknite na strelicu u retku public_html. Potvrdite da stvarno želite arhivirati datoteku/imenik public_html u svom matičnom direktoriju (Slika 2).

Nakon nekoliko sekundi, arhiviranje je završeno. Nadalje, bez napuštanja ovog prozora, u retku gdje je registrirana vaša domena, kliknite na strelicu i potvrdite da stvarno želite spremiti arhivu datoteke/direktorija.

Arhiviranje traje nekoliko minuta (sve ovisi o količini podataka na stranici). Nakon toga kliknite na "Uključeno Početna stranica” (na dnu tablice) i dalje početna stranica pritisnite " Upravitelj datoteka". Odaberemo dvije datoteke koje su nam potrebne do datuma arhiviranja i spremamo jednu po jednu.

Da biste to učinili, dvaput kliknite na odabrane datoteke jednu po jednu (slika 3), postavlja se pitanje gdje spremiti, spremiti. Spremljene datoteke skrivamo u sigurnim mapama, neće biti suvišno spremiti ih u njih DVD disk. Svakako spremite svoje podatke.

I dalje. Nakon pisanja ovog članka, imao sam problema s podacima moje stranice (bloga), problemi su uspješno riješeni. Stoga su na temelju rezultata mog rada objavljeni članci o izradi sigurnosne kopije baze podataka (članak), kao i spremanju i optimizaciji baze podataka (članci

U vezi s prelaskom na novi hosting, morao sam naučiti osnove prijenosa MySQL baze podataka. Usput, koristim MaxSiteCMS kao CMS svog bloga. I kupio sam novi hosting, odnosno virtualni namjenski poslužitelj, od Admana.

Već dugo koristim vlastitu skriptu za sigurnosno kopiranje svoje web stranice i MySQL baze podataka. O čemu je pisao u članku. Ali koristiti rezultate obavljenog rada još nije bilo potrebno. Što me, naravno, nije uznemirilo, jer je prethodni hosting radio ispravno i oporavak podataka nije bio potreban.

Kako spremiti MySQL bazu podataka

Dopustite mi da vas podsjetim da se ne može kopirati jednostavnim brisanjem neke datoteke.
A da biste spremili dump, morate izvršiti sljedeće u konzoli:

mysqldump -u korisničko ime -p ime baze podataka > backup baze podataka.sql

Kako vratiti MySQL bazu podataka

Budući da sam već imao sigurnosnu kopiju baze, prethodna uputa mi nije bila od koristi. A za vraćanje morate upotrijebiti naredbu:

mysql -u korisničko ime -p novo imebaze podataka< databasebackup.sql



reci prijateljima