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.