Acest articol poate fi util dacă aveți un site web care utilizează un sistem de gestionare a conținutului (Joomla, WordPress, OpenCart etc.) și decideți mutați-l pe alt server. Acest lucru necesită nu numai transferul fișierelor site-ului, ci și transferul fișierelor . Înainte de a începe să migrați site-ul dvs., trebuie să găsiți unul bun și să îl comandați pentru a obține acces la noul dvs. cont de găzduire. Noi, de exemplu, oferim Joomla și PrestaShop separate. Dacă doriți să vă mutați site-ul la un nume nou și aveți nevoie, faceți-vă timp. Planul nostru gazduire virtuala S4 vă va oferi un domeniu cadou. Dacă găzduirea partajată nu este suficientă pentru site-ul dvs., puteți comanda oricând VPS sau .
Pentru a transfera o bază de date, trebuie mai întâi să creați un dump al acesteia, adică să plasați conținutul într-un fișier SQL separat. Acest lucru se face în meniu phpMyAdmin pe găzduirea de unde transferați site-ul. Conectați-vă la phpMyAdmin, selectați baza de date care trebuie transferată în stânga și faceți clic pe „ Export» în meniul de sus.
Se va deschide o casetă de dialog în care trebuie să selectați tipul baze de date SQL, apoi apăsați butonul Bine. Așteptați până când fișierul bazei de date este descărcat pe computer.
Acum acest fișier trebuie să fie corect plasat pe găzduirea noastră. Pentru a face acest lucru, trebuie mai întâi să creați o bază de date Date MySQLîn contul dvs. cPanel, adăugând un utilizator la acesta și atribuindu-i privilegii. Mai jos descriem cum să creați o bază de date în MySQL.
Accesați cPanel și găsiți secțiunea " Bază de date", Selectați "".
Se va deschide o nouă fereastră. La pasul 1, introduceți un nume de bază de date. Vă rugăm să rețineți că numele bazei de date va fi întotdeauna prefixat; prima jumătate a numelui va conține numele contului cPanel.
După ce ați introdus numele, faceți clic pe „ Urmatorul pas».
La pasul 2 trebuie să creați utilizator MySQL la baza de date și setați o parolă pentru aceasta. După ce ați introdus toate datele, faceți clic pe " Creați un utilizator».
Când setați privilegiile utilizatorului creat, selectați opțiunea " TOATE DREPTURILE" și treceți la pasul următor.
Dacă totul a fost făcut corect în pașii anteriori, Expertul bazei de date vă va anunța că crearea bazei de date pe găzduire a fost finalizată cu succes.
Acum puteți găsi baza de date creată în lista celor disponibile baze de date MySQLîn meniul panoului de control cu același nume.
Acum, pentru a restaura baza de date MySQL, importăm în baza de date creată conținutul fișierului salvat din vechea găzduire cu extensia .sql. Pentru a face asta pe pagina principala cPanel selectați elementul de meniu „ phpMyAdmin” în aceeași secțiune ” Bază de date" În fereastra care se deschide, selectați baza de date nou creată din meniul din stânga și faceți clic pe fila „ Import» în meniul de sus.
Faceți clic pe butonul Alege fișierul", în caseta de dialog, selectați fișierul sql salvat anterior și încărcați-l în găzduire. Asigurați-vă că tipul de codificare este utf-8. După ce faceți clic pe OK, așteptați un mesaj care indică faptul că importul bazei de date a avut succes.
În acest moment, toți pașii necesari pentru a transfera baza de date în alta au fost finalizați.
Ideea articolului este de a crea un ghid de înaltă calitate pentru instalarea și lucrul cu programul mysqldump. Folosind multe exemple și adunând totul opțiuni utileși parametrii pentru lucrul cu acest utilitar. Este dificil să încadrezi totul într-un singur articol, așa că totul va fi scurt și la obiect. Dacă cineva înțelege greșit ceva, vă rugăm să comentați articolul.
Secțiuni:
Instalaremysqldump:
Ce este mysqldump?
MySQLdump- Acest aplicație server, care vă permite să faceți backup (denumit în continuare dump) baze de date și să le salvați într-un fișier separat. În același timp, puteți face setări flexibile de descărcare: mai multe sau toate bazele de date, arhivare în gzip, adăugarea de blocare, comenzi de drop și multe altele. Este posibil și importul invers al backup-urilor bazei de date. Se poate face cu folosind PHP, dar acest lucru este inacceptabil pentru proiecte mari, care au o pondere mare a datelor.
Acest program este foarte util în exportul și importul de date dintr-o bază de date. Poate fi instalat ca standard pe hosting (mai precis server mysql). Dar pentru a vă perfecționa abilitățile în lucrul cu mysqldump și pentru a învăța cum să îl instalați, îl puteți instala pe denwer. Asta vom face acum.
Descărcați mysqldump
Puteți descărca oricând programul mysqldump de pe site-ul nostru, iar descărcarea aplicației este complet gratuită. Descărcați mysqldump din linkul direct de mai jos.
Cum se instalează mysqldump?
Vom instala pe local Server Denwer. Instalarea aplicației este ușoară și simplă, pentru a face acest lucru, urmați instrucțiunile și capturile de ecran furnizate mai jos.
1.Copiați fișierul mysqldump.exe în folderul Denver:
D:\WebServers\usr\local\mysql5\bin\
În acest caz, este posibil să aveți un nume ușor diferit pentru folderul mysql5, de exemplu mysql-5.1 sau ușor modificat. Prin urmare, pentru o mai mare claritate, mai jos este o captură de ecran:
2. Lansați Denver
Cu siguranță tu știi cum să lansezi Denwer.
3. Lansați consola:
Start->Run->cmd.exe sau pe Windows 7: Start->Căutare->Entercmd.exe->introduce, așa cum se arată în captura de ecran:
4. Testare:
Folosind comenzile din consolă, mergi pe discul virtual Denver (am W:\) și în folderul cu aplicația mysqldump. Pentru a confirma executarea comenzii, apăsați Enter.
Introduceți comenzile:
W:- accesați discul virtual Denver
CDusr\local\mysql5\cos– accesați folderul cu aplicația
mysqldump -uroot your_db_name>file_name.sql– testarea, descărcarea unei baze de date arbitrare într-un fișier, care va fi salvat în folderul bin.
Instalarea mea a avut succes, sper să fie și a ta. În folderul bin găsim fișierul copie de rezervă DB. Pentru a afla cum să utilizați programul pe scară largă, citiți secțiunile următoare articole.
Noțiuni introductive: export și import de baze de date
Exportul bazei de date
Am instalat deja aplicația și am învățat cum să folosim consola. Am făcut deja un test dump. Acum să facem un simplu dump al bazei de date în directorul de care avem nevoie. Pentru a face acest lucru, am creat o bază de date folosită anterior numită „test”. Este situat pe serverul local denwer. Mai jos sunt furnizate comenzi pas cu pas consolă pentru descărcarea bazei de date de testare în folderul dorit și fișierul dorit.
W: cdusr\local\mysql5\bin mysqldump -uroot test>D:\test\easydump.sql
Captura de ecran de mai jos arată fișierul dump din folderul de testare:
Exportul a fost finalizat cu succes. Acum să încercăm să importăm acest fișier înapoi pe serverul nostru.
Import baze de date
Pentru a importa baza de date, ștergeți baza de date în phpmyadmin și utilizați următoarea comandă în cmd.exe:
Testul Mysql -uroot Notă importantă: dacă la export am folosit mysqldump..., apoi la import trebuie să porniți comanda cu mysql. Acest exemplu este o utilizare de bază a aplicației mysqldump pentru a crea copii de siguranță ale bazei de date. Veți găsi și mai multe comenzi și exemple în secțiune și articol. Mai jos sunt cele mai frecvent utilizate exemple de utilizare a mysqldump. Cu care puteți nu numai să faceți copii de rezervă, ci și să adăugați câțiva parametri Rezervă copie: compresie folosind gzip, adăugarea datei de backup, descărcarea doar a câtorva tabele sau structura bazei de date, folosind setări flexibile. Aceste opțiuni vă permit să creșteți viteza de execuție a dump-ului și să utilizați spațiul pe disc cu moderație. -u sau --utilizator=...- Nume de utilizator -h sau --gazdă=...- gazdă la distanță (pentru gazda locală puteți omite acest parametru) -p sau --parola- solicitați o parolă Bază de date- numele bazei de date exportate /cale/la/fișier/dump.sql- cale și fișier pentru dump Deversăm mai multe baze de date, pentru aceasta folosim atributul --databases sau –B pe scurt, vezi exemplul de mai jos: Mysqldump -uroot -h82.82.82.82 -p -B database1 database2 database3 > databases.sql Dacă doriți să creați un dump al tuturor bazelor de date, trebuie să utilizați parametrul –all-databases sau –A în formă prescurtată, vedeți exemplul: Mysqldump -uroot -h82.82.82.82 -p -A > all-databases.sql Pentru a face acest lucru, trebuie să utilizați parametrul --no-data așa cum se arată în exemplul de mai jos: Mysqldump --no-data - uUSER -pPASSWORD DATABASE > /path/to/file/schema.sql După cum am menționat mai devreme, aceste atribute reduc dimensiunea finală a fișierului și accelerează procesul de backup. Mai precis: -Q include numele în ghilimele înapoi -c face o inserare completă, inclusiv numele coloanelor -e realizează o inserție extinsă. Această postare conține cele mai frecvent utilizate comenzi pentru a crea sau a implementa copii de siguranță ale bazelor de date MySQL. Ei bine, m-am săturat să caut cheile în mod constant pe google când am nevoie „deodată” de ele. Puțină teorie... MySQLDUMP este un instrument care vă permite să creați copii de rezervă ale bazelor de date MySQL. Ca rezultat, obținem un fișier .sql cu un dump de bază de date. ÎN acest fișier conține cod SQL sub formă de text, adică îl poți deschide oricând editor de text pentru a vizualiza, edita etc... Apropo, există și un astfel de utilitar precum MySqlHotCopy, care este cel mai bine utilizat pentru a crea copii de rezervă la cald, deoarece blochează baza de date și copiază fișierele bazei de date în Locul potrivit. Dar acest lucru va funcționa doar dacă este rulat pe serverul în sine, funcționează doar cu tabelele MyISAM și Archive și este mai potrivit pentru bazele de date mari. Dar, în general, nu este vorba despre ea... poate voi scrie despre „copie fierbinte” într-un alt articol... Să începem cu cea mai comună comandă pentru descărcarea site-ului site.ru în fișierul site.ru: Mysqldump -uroot -h10.30.30.10 -p site_ru > site_ru.sql Pentru a face o copie de rezervă a mai multor baze de date, puteți utiliza cheia -Bși specificați mai multe baze de date, iată un exemplu: Mysqldump -uroot -h10.30.30.10 -p site_ru site2_ru site3_ru > sites.sql Dacă situația nu vă oferă timp să vă gândiți și trebuie să faceți o copie de rezervă a tuturor bazelor de date, atunci în această situație puteți utiliza cheia --toate-bazele de date, iată un exemplu: Mysqldump -uroot -h10.30.30.10 -p -A > all-db.sql Apropo, există o nuanță. Dacă faceți o copie de rezervă a bazei de date pe un server care rulează și, în plus, folosit activ, atunci riscați să rupeți conexiunile logice. Există câteva moduri de a evita acest lucru. Prima modalitate este de a bloca mesele, de exemplu. puteți folosi parametrul --lock-tables, iată un exemplu: Mysqldump -uroot -h10.30.30.10 -p --lock-tables site_ru > site_ru.sql Dar în momentul creării unei copii de rezervă, solicitările clientului vor fi suspendate... și, prin urmare, pot exista expirări. A doua modalitate este să utilizați comutatorul --flush-log atunci când creați o copie de rezervă. Această cheie se va închide buștean vechi acțiuni și va crea unul nou. Dacă cineva notează ceva în timpul creării unei copii, acest lucru se va reflecta la începutul jurnalului și va fi posibilă transferarea acestei modificări în baza de date. În continuare, pentru a fi sigur, după finalizarea copiei de rezervă, trebuie să rulați comanda mysqladmin -flush-logs și să lăsați o copie a penultimului jurnal binar. Aici utilitarul „mysql” va guverna deja. Iată un exemplu: Mysql -uroot -h10.30.30.10 -p site_ru< site_ru.sql
Alt mod, mai pedant: Mysql -uroot -p Introduceți parola: Bun venit la monitorul MySQL. Comenzile se termină cu ; sau\g. ID-ul dvs. de conexiune MySQL este 35 Versiunea serverului: 5.6.35-1+deb.sury.org~xenial+0.1 (Ubuntu) Copyright (c) 2000, 2016, Oracle și/sau afiliații săi. Toate drepturile rezervate. Oracle este o marcă înregistrată a Oracle Corporationși/sau afiliații săi. Alte nume pot fi mărci comerciale ale proprietarilor respectivi. Tastați „ajutor”; sau „\h” pentru ajutor. Tastați „\c” pentru a șterge instrucțiunea de intrare curentă. mysql> folosește site_ru; mysql> sursa site_ru.sql; Ei bine, dacă baza de date este salvată într-o arhivă gz, atunci puteți combina comenzi mysqlși zcat așa: Zcat site_ru.sql.gz | mysql -uroot -h10.30.30.10 -p site_ru De exemplu, avem nevoie de o bază de date în zona de dezvoltare, un sandbox, ca să spunem așa, iar dimensiunea bazei de date principale este foarte mare. Puteți folosi tasta -where="true limit 150", la care vom specifica în mod explicit un eșantion de date de cel mult 150 de înregistrări. Iată un exemplu: Mysqldump -uroot -h10.30.30.10 -p --where="true limit 150" site_ru > site_ru.sql Dacă avem nevoie doar de o structură fără date, atunci putem folosi comutatorul --no-data, iată un exemplu Mysqldump -uroot -h10.30.30.10 -p --no-data site_ru > site_ru.sql Dacă avem nevoie de o copie a unui singur tabel, atunci iată un exemplu de comandă: Mysqldump -u root -p testdb tablename > testdb_table_backup.sql Dacă avem nevoie de o copie a declanșatorilor, procedurilor și evenimentelor (programatorul încorporat), atunci iată un exemplu: Mysqldump --no-create-info --no-data --triggers --rutines --events -uroot -p site_ru | gzip > ~/database.sql.gz De asemenea, puteți crea imediat un dump de bază de date arhivată. O poți face astfel: Mysqldump -uroot -p site_ru | gzip > /path/to/site_en.sql.gz Și puteți specifica, de asemenea, data la care a fost creată arhiva, astfel: Mysqldump -uroot -p site_ru | gzip > `data +/path/to/site_ru.sql.%Y%m%d.%H%M%S.gz` Mai jos sunt cele mai populare chei mysqldump: Extinde lista... Dumpingul și restaurarea unei baze de date MySQL este destul de simplu și convenabil de făcut de la distanță prin SSH sau direct prin consola serverului. De la distanță, acest lucru se poate face folosind programele Putty/Kitty. De asemenea, puteți rula exemplele de mai jos pe Windows rulând Linie de comanda ‘cmd‘. Mai jos sunt exemple despre cum să creați depozite de baze de date MySQL și apoi să le restaurați dacă este necesar, de exemplu pentru site-ul dvs. web, magazinul online sau alt proiect. Pentru a executa aceste comenzi, conectați-vă de la distanță la serverul dvs. prin SSH folosind unul dintre programele enumerate mai sus. După conectarea și autorizarea la server/găzduire, puteți introduce comenzile de mai jos. # Faceți backup pentru o bază de date în fișierul dump_file.sql mysqldump -uroot -p your_base > dump_file.sql # Activat gunoi de ferestre Cel mai bine este să creați o comandă puțin diferită, care să prevină # suprascrierea accidentală a liniilor de descărcare din cauza conversiei caracterelor newline „\r\n” în „\n” mysqldump -uroot -p your_base -r dump_file_utf8.sql # Dacă aveți nevoie de backup numai tabele individuale și nu întreaga bază de date # (specificați numele tabelelor separate printr-un spațiu după numele bazei de date) mysqldump -uroot -p your_base TABLE1 TABLE2 TABLE3 > dump_file.sql # Dacă trebuie să creați o copie de rezervă numai a bazei de date structură fără datele în sine mysqldump -uroot -p -- no-data baza_voastra > dump_file.sql # Faceți copii de rezervă pentru toate bazele de date în fișierul data_actuală.gz mysqldump -uroot -p --all_databases | gzip -c > „data „+%Y-%m-%d””.gz # Backup, unde se creează un INSERT separat pentru fiecare intrare # și cu indicație explicită codificarea bazei de date UTF-8 mysqldump -uroot -p --default-character-set=utf8 your_base --extended-insert=FALSE | gzip -c > „data „+%Y-%m-%d””.gz # Faceți backup pentru o bază de date în dump_file.sql mysqldump - uroot - p baza_voastra > dump_file . sql # Pe Windows, cel mai bine este să creați un dump cu o comandă ușor diferită care împiedică # suprascriere aleatorie a liniilor de descărcare din cauza conversiei caracterelor newline „\r\n” în „\n” mysqldump - uroot - p your_base - r dump_file_utf8 . sql # Dacă aveți nevoie de backup numai pentru tabele individuale și nu pentru întreaga bază de date # (indicați numele tabelelor separate printr-un spațiu după numele bazei de date) mysqldump - uroot - p baza_voastra TABLE1 TABLE2 TABLE3 > dump_file . sql # Dacă trebuie să faceți backup numai pentru structura bazei de date fără datele în sine mysqldump - uroot - p -- fără date baza dvs. > fișier_dump . sql # Faceți backup pentru toate bazele de date în fișierul current_date.gz mysqldump - uroot - p -- all_databases | gzip - c > „data „+%Y-%m-%d”” . gz # Backup, unde este creat un INSERT separat pentru fiecare intrare # și specificând în mod explicit baza de date care codifică UTF-8 mysqldump - uroot - p -- default - character - set = utf8 your_base -- extins - insert = FALSE | gzip - c > „data „+%Y-%m-%d”” . gz În exemplul de mai sus, utilitarul este folosit pentru a crea o copie de rezervă mysqldump, care este inclus cu mysql. Următorii sunt parametrii pentru crearea unei copii de siguranță a bazei de date, pe care le vom examina mai detaliat: „data „+%Y-%m-%d”” „data „+%Y-%m-%d”” Atenţie! Dacă specificați doar numele fișierului, acesta va fi salvat în același director în raport cu care executați această comandă. Acestea. dacă vedeți așa ceva la promptul de comandă #
, Unde root@dvs acesta este numele de conectare și server, fișierul va fi creat în director /Acasă. Pentru a modifica salvarea fișierului într-o cale diferită, specificați calea completă pentru salvarea fișierului în loc de nume, de exemplu: /var/www/backup/dump_file.sql. Acum să ne uităm la procesul invers de restaurare a unei baze de date dintr-un fișier dump. Această acțiune realizat folosind programul mysql. Să ne uităm imediat la un exemplu.Exemple MySQLdump
Crearea unei gropi
mysqldump –uUSER -h82.82.82.82 -pPASSWORD DATABASE > /path/to/file/dump.sql Crearea unei structuri de bază de date fără date
Creați un dump de doar unul sau mai multe tabele de bază de date
mysqldump -uUSER -pPASSWORD BAZĂ DE DATE TABLE1 TABLE2 TABLE3 > dump.sql Creați un dump și arhivați-lgzip
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz Creați un dump cu data în numele fișierului
mysqldump -uUSER -pPASSWORD DATABASE | gzip > `data +dump.sql.%Y%m%d.%H%M%S.gz` Folosind atribute suplimentare
mysqldump -Q -c -e -uUSER -pPASSWORD DATABASE > /path/to/file/dump.sql
Puteți restaura o astfel de descărcare folosind utilitarul mysql prin STDIN.
Puteți recupera datele prin copierea fișierelor salvate în directorul de date MySQL.Crearea unei copii de rezervă a bazei de date
Mai multe despre chei:
Restaurarea unei copii de siguranță a bazei de date
Mai multe opțiuni pentru utilizarea mysqldump
Chei pentru utilizarea mysqldump
Crearea unui Dump de bază de date MySQL
după această linie din exemplu, extensia fișierului este indicată „ .gz‘. Ca rezultat, un fișier precum „ 2014-11-15.gz‘.
Restaurarea unei baze de date dintr-un fișier de descărcare MySQL