Importul și exportul bazelor de date în MySQL utilizând linia de comandă ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
10.12.2024

Importul și exportul bazelor de date în MySQL utilizând linia de comandă

Gestionarea backup-urilor și migrărilor bazelor de date este o sarcină esențială pentru orice administrator de baze de date MySQL. Folosind linia de comandă, puteți exporta cu ușurință baze de date în fișiere de backup sau le puteți importa într-un mediu nou. Acest ghid acoperă modul de a importa și exporta baze de date în MySQL utilizând linia de comandă.

Condiții prealabile

Înainte de a începe, asigurați-vă că:

  • MySQL este instalat și rulează pe serverul dvs. sau pe mașina locală.
  • Aveți acces la un terminal sau la o linie de comandă.
  • Aveți acreditările MySQL necesare, inclusiv numele de utilizator și parola.

Exportul bazelor de date cu mysqldump

Utilitarul mysqldump este instrumentul standard pentru exportul bazelor de date în MySQL. Acesta creează un fișier .sql care conține instrucțiunile SQL necesare pentru recrearea bazei de date.

1. Exportarea unei singure baze de date

Pentru a exporta o singură bază de date, utilizați următoarea sintaxă:

mysqldump -u [nume utilizator] -p [nume_bază_de_date] > [nume fișier].sql
  • -u [nume utilizator]: Numele de utilizator MySQL.
  • -p: Solicită parola MySQL.
  • [database_name]: Numele bazei de date pe care doriți să o exportați.
  • [filename].sql: Numele fișierului de ieșire care va conține copia de rezervă a bazei de date.

Exemplu:

mysqldump -u root -p mydatabase > mydatabase_backup.sql

Această comandă va solicita parola utilizatorului root și va crea un fișier numit mydatabase_backup.sql care conține toate datele și structura mydatabase.

2. Exportul mai multor baze de date

Pentru a exporta mai multe baze de date, utilizați indicatorul –databases urmat de numele bazelor de date:

mysqldump -u [username] -p --databases [database1] [database2] > [filename].sql

Exemplu:

mysqldump -u root -p --databases db1 db2 > multiple_databases_backup.sql

Această comandă va exporta atât db1, cât și db2 în multiple_databases_backup.sql.

3. Exportați toate bazele de date

Pentru a exporta toate bazele de date de pe serverul MySQL, utilizați opțiunea –all-databases:

mysqldump -u [nume utilizator] -p --all-databases > all_databases_backup.sql

Exemplu:

mysqldump -u root -p --all-databases > all_databases_backup.sql

Aceasta creează o copie de rezervă completă a tuturor bazelor de date în all_databases_backup.sql.

4. Exportați numai structura tabelelor (fără date)

Dacă aveți nevoie doar de structura tabelelor, fără date, adăugați indicatorul –no-data:

mysqldump -u [nume utilizator] -p --no-data [nume_baza_de_date] > structure_only.sql

Exemplu:

mysqldump -u root -p --no-data mydatabase > structure_only.sql

5. Export de tabele specifice

Pentru a exporta anumite tabele dintr-o bază de date, listați-le după numele bazei de date:

mysqldump -u [nume utilizator] -p [nume_bază_de_date] [tabel1] [tabel2] > [nume_fișier].sql

Exemplu:

mysqldump -u root -p mydatabase table1 table2 > tables_backup.sql

Importul bazelor de date cu mysql

Pentru a importa o bază de date dintr-un fișier SQL, utilizați comanda mysql.

1. Importarea unei singure baze de date

Pentru a importa un fișier SQL într-o bază de date MySQL, utilizați următoarea comandă:

mysql -u [nume utilizator] -p [nume_bază_de_date] < [nume fișier].sql
  • -u [nume utilizator]: Numele de utilizator MySQL.
  • -p: Solicită parola MySQL.
  • [database_name]: Numele bazei de date în care vor fi importate datele.
  • [filename].sql: Numele fișierului .sql care urmează să fie importat.

Exemplu:

mysql -u root -p mydatabase < mydatabase_backup.sql

Această comandă va solicita parola utilizatorului root și va importa conținutul mydatabase_backup.sql în mydatabase.

2. Import într-o bază de date nouă

Dacă doriți să importați într-o bază de date nouă, trebuie mai întâi să creați baza de date și apoi să importați fișierul .sql.

Pasul 1: Creați o nouă bază de date.

mysql -u [nume utilizator] -p -e "CREATE DATABASE [new_database_name];"

Pasul 2: Importați fișierul .sql în noua bază de date.

mysql -u [nume utilizator] -p [nume_nou_bază_de_date] < [nume_fișier].sql

Exemplu:

mysql -u root -p -e "CREATE DATABASE newdatabase;"
mysql -u root -p newdatabase < mydatabase_backup.sql

3. Importați toate bazele de date

Dacă ați salvat toate bazele de date folosind –all-databases, le puteți importa înapoi folosind:

mysql -u [nume utilizator] -p < all_databases_backup.sql

Exemplu:

mysql -u root -p < all_databases_backup.sql

Această comandă va restaura toate bazele de date conținute în fișierul all_databases_backup.sql.

Sfaturi pentru utilizarea mysqldump și mysql

  • Utilizați compresia: Pentru a economisi spațiu pe disc și timp de transfer, puteți comprima fișierul de backup utilizând gzip:
    mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz

    Și pentru a-l importa:

    gunzip < mydatabase_backup.sql.gz | mysql -u root -p mydatabase
  • Verificarea bazei de date înainte de import: Asigurați-vă că baza de date în care importați este goală sau conține date compatibile pentru a evita conflictele.
  • Verificați setul de caractere: Dacă aveți de-a face cu caractere non-ASCII, asigurați-vă că exportați și importați cu setul de caractere corect utilizând opțiunea –default-character-set:
    mysqldump -u root -p --default-character-set=utf8 mydatabase > mydatabase_backup.sql
  • Gestionarea erorilor: Dacă întâmpinați erori în timpul importului, verificați dacă există probleme comune precum baze de date sau structuri de tabele lipsă și asigurați-vă că fișierul .sql este complet.

Rezumat

Exportul și importul bazelor de date MySQL utilizând linia de comandă este simplu cu mysqldump și mysql. Aceste instrumente permit flexibilitate în gestionarea backup-urilor, migrarea bazelor de date între servere și crearea de exporturi specifice numai structurii sau datelor. Prin înțelegerea comenzilor și a opțiunilor acestora, puteți asigura funcționarea fără probleme a bazelor de date și menținerea integrității datelor în timpul transferurilor.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills