MySQL andmebaasi varundamine ja taastamine mysqldump käsuga: täielik juhend

1. Sissejuhatus

MySQL andmebaasi varundamine ja taastamine on oluline ülesanne süsteemi turvalisuse ja stabiilsuse tagamiseks. Juhul kui andmed kaovad või serveris tekib rike, on vaja ettevalmistusi kiireks taastamiseks. mysqldump käsk on laialdaselt kasutatav tööriist MySQL andmebaasi varundamiseks ning selle lihtne süntaks ja mitmed valikud võimaldavad paindlikku kasutamist.

Selles artiklis selgitame samm-sammult, kuidas kasutada mysqldump’i alates põhilisest süntaksist kuni täiustatud valikuteni, samuti ka andmete taastamise protsessi varukoopiast.

2. mysqldump’i põhisüntaks

mysqldump on käsk, mida kasutatakse MySQL andmete ja struktuuri eksportimiseks (dumpimiseks). Vaatame esmalt põhilist süntaksit.

mysqldump -u [kasutajanimi] -p [andmebaasi_nimi] > [väljundfail.sql]

Parameetrite selgitus

  • -u [kasutajanimi]: määrab MySQL-iga ühendumiseks kasutatava kasutajanime.
  • -p: palub sisestada parooli (kui seda ei määra käsureal, küsitakse seda interaktiivselt).
  • [andmebaasi_nimi]: andmebaasi nimi, mida soovitakse varundada.
  • > [väljundfail]: määrab dump-faili salvestamise tee ja nime.

Sellele põhisüntaksile saab lisada erinevaid valikuid, et luua dump-faile vastavalt vajadusele.

Näidiskäsk

mysqldump -u root -p my_database > my_database_backup.sql

See käsk varundab andmebaasi nimega my_database faili my_database_backup.sql.

3. Levinumad valikud ja nende kasutus

3.1 –all-databases

Kasutades --all-databases valikut, saab korraga varundada kõik MySQL serveris olevad andmebaasid. See on kasulik mitme andmebaasi haldamisel.

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

3.2 –no-data

--no-data valikuga dumpitakse ainult andmebaasi struktuur, ilma tegelike andmeteta. Sobib, kui on vaja ainult tabelite definitsioone.

mysqldump -u root -p --no-data my_database > my_database_schema.sql

3.3 –add-drop-table

--add-drop-table lisab varundusfaili DROP TABLE käsud, mis võimaldab taastamisel vältida tabelite duplikaate ja lihtsustab olemasolevate tabelite ülekirjutamist.

mysqldump -u root -p --add-drop-table my_database > my_database_backup.sql

3.4 –lock-tables

--lock-tables lukustab tabelid varundamise ajaks, vältides dumpi käigus andmete muutmist. Sobib töötavate andmebaaside puhul.

mysqldump -u root -p --lock-tables my_database > locked_backup.sql

4. Täpsemad valikud

4.1 –where tingimuslik dump

Kasutades --where valikut, saab dumpida ainult andmed, mis vastavad kindlale tingimusele. Näiteks ainult pärast kindlat kuupäeva loodud andmed.

mysqldump -u root -p my_database --where="created_at >= '2023-01-01'" > filtered_data_backup.sql

Selles näites varundatakse ainult need kirjed, mille created_at väärtus on 1. jaanuar 2023 või hiljem.

4.2 –xml valik

--xml võimaldab eksportida andmed XML-formaadis. Kasulik, kui süsteem või rakendus vajab XML-andmeid.

mysqldump -u root -p --xml my_database > database_backup.xml

5. Andmete taastamine mysqldump’iga

Mysqldumpiga loodud varukoopiast saab andmebaasi taastada mysql käsuga.

mysql -u [kasutajanimi] -p [andmebaasi_nimi] < [varukoopia.sql]

5.1 Taastamise näide

Järgmine käsk taastab andmebaasi my_database failist my_database_backup.sql.

mysql -u root -p my_database < my_database_backup.sql

Olulised tähelepanekud

  • Ülekirjutamise risk: taastamisel kirjutatakse olemasolevad andmed üle, seega tuleb olla ettevaatlik.
  • Kooditabeli kontroll: mitmebaidiliste märkide puhul tuleb tagada, et kooditabelid ühtiksid, vastasel juhul võivad andmed taastuda vigaselt.

6. Varundamisstrateegia näpunäited

6.1 Regulaarsete varukoopiate automatiseerimine

Andmebaasi sisu muutub pidevalt, seetõttu on tähtis varukoopiate loomine automatiseerida. cron tööde abil saab seadistada igapäevase varundamise.

0 2 * * * mysqldump -u root -p my_database > /path/to/backup/my_database_$(date +%F).sql

Selles näites tehakse iga päev kell 2 öösel varukoopia ning failinimesse lisatakse kuupäev.

6.2 Inkremendivarundus

Täieliku varunduse asemel võib varundada ainult muutunud andmed. --where valiku abil saab dumpida ainult hiljuti muudetud kirjed, mis muudab protsessi tõhusamaks.

7. Kokkuvõte

mysqldump on väga kasulik MySQL varundustööriist, mis on ühtaegu lihtne ja mitmekülgne. Alates põhilistest funktsioonidest kuni täiustatud valikuteni aitab see tööriist üles ehitada tõhusa varundusstrateegia, mis suurendab süsteemi turvalisust ja andmekaitset. Regulaarne automatiseeritud varundamine ja inkremendivarunduse kasutamine on võtmed efektiivseks andmehalduseks.

Loodetavasti aitab see juhend teil optimeerida mysqldump’i kasutamist ja parandada andmebaasi haldust.