Ühe juhtiva vab alt saadaoleva andmebaasina on MySQL populaarne valik paljude veebirakenduste jaoks. Internetiga kokku puutudes puutub teie rakendus kokku pahatahtlike rünnakutega. Kui teie server on ohus, peate parimal juhul rakenduse uuesti installima; halvimal juhul võite oma andmed kaotada. Lisaks võite sattuda olukorda, kus peate andmebaasi ühest serverist teise migreerima.
Milleks mysqldumpi kasutatakse?
Mysqldump tööriist aitab teid nii serverite ohtu sattumise kui ka migratsiooni korral. Selle põhifunktsioon on võtta MySQL-i andmebaas ja tühjendada see tekstifailina. Kuid mitte ühtegi tekstifaili; fail on SQL-lausete komplekt. Need avaldused rekonstrueerivad täitmisel andmebaasi täpselt sellesse olekusse, milles see oli väljavõtte käivitamisel.
Kasutage mysqldump andmebaasi eksportimise loomiseks varukoopiatena või andmebaasi teisaldamisel uude hosti. Mõlemal juhul imporditakse tekstifail tagasi MySQL-i andmebaasiserverisse. See käivitab kõik failis olevad SQL-laused, mis taastab andmebaasi algsesse olekusse. See osa ei kasuta käsku mysqldump, kuid see poleks võimalik ka ilma selle utiliidita.
MySQL-i dokumendid loetlevad muid varukoopiate tegemise meetodeid, kuid neil on puudusi:
- Andmebaasi kiirkopeerimine MySQL Enterprise'ist on suurepärane viis nende varukoopiate tegemiseks – kui te ettevõtte hinnasildi vastu ei pane.
- Andmebaasi andmekataloogide kopeerimine võib operatsioonisüsteemide vahel liikumisel olla keeruline, kuna sihtkohad on erinevad.
- Eksportimine piiritletud tekstifaili annab teile sisu, kuid peate struktuuri uuesti looma.
- Saate sageli andmebaase varundada GUI-programmidest, nagu MySQL Workbench. Kuid see on käsitsi protsess; mitte midagi, mida saate skriptida või pakktöösse lisada.
Installige mysqldump tööriist
Windowsi puhul vaadake meie juhiseid MySQL-i installimiseks opsüsteemi Windows 7 (installiprotsess on Windows 10 puhul sama). MacOS-is vaadake meie juhiseid MySQL-i installimiseks operatsioonisüsteemi macOS 10.7 (jällegi vanem, kuid siiski rakendatav). Ubuntu-põhiste Linuxi süsteemide kasutajad saavad MySQL-i kliendi ja utiliitide installimiseks kasutada järgmist käsku:
sudo apt install mysql-client
MySQL-i väljavõtte väljavõte
Pärast installimist kasutage andmebaasi täieliku varukoopia saamiseks mysqldumpi.
mysqldump -h [teie andmebaasi hosti nimi või IP] -u [DB kasutaja nimi] -p [andmebaasi nimi] > db_backup.sql
Siin on selles käsus kasutatud lippude kirjeldus:
- - h: see lipp on andmebaasi host. See võib olla täielik hostinimi (nt myhost.domain.com) või IP-aadress. Jätke see tühjaks, kui käivitate käsu MySQL-i serveriga samas hostis.
- - u: teie kasutajanimi.
- - p: kui turvasite MySQL-i installi õigesti, vajate ühenduse loomiseks parooli. See argumendita lipp küsib käsu täitmisel parooli. Mõnikord on kasulik sisestada parool otse selle lipu argumendina, näiteks varuskriptis. Kuid viipa korral ei tohiks te seda teha, sest kui keegi pääseb teie arvutile juurde, võib ta selle parooli käsuajalukku saada.
- > db_backup.sql: see osa käsib mysqldumpil suunata oma väljundi faili. Tavaliselt väljastab käsk kõik konsooli, mis tähendab, et näete ekraanil mitut SQL-lauset. Sümbol > suunab väljundi nimega tekstifaili. Kui seda faili pole olemas, luuakse see automaatselt.
Kui see on lõppenud, on teil. SQL-fail. See on tekstifail, mis sisaldab SQL-lauseid. Sisu kontrollimiseks saate selle avada mis tahes tekstiredaktoris. Siin on eksport WordPressi andmebaasist, mis näitab, kuidas need failid kokku pannakse.
Fail on jagatud osadeks. Esimeses jaotises seadistatakse WordPressi kommentaaride tabel. Teine jaotis loob uuesti nende tabelite sisu (selles näites kommentaaride kirjed). Kui impordite MySQL-i väljavõtte uuesti, töötab käsk faili kaudu, täidab laused ja loob andmebaasi uuesti selliseks, nagu see oli.
MySQL-i väljavõttefaili importimine
Enne tõmmisfaili importimist vajate juba loodud andmebaasi ning selle kehtivat kasutajanime ja parooli. Samuti peaksid teil olema andmebaasi jaoks kõik õigused. Te ei vaja GRANT-luba, kuid seda on lihtsam kõigile anda.
Vaadake lisateavet andmebaasi lubade kohta, enne kui muudate oma andmebaasis turberolle.
Andmete uuesti importimiseks logige MySQL-i serverisse käsuga mysql. Tippige väljale use [andmebaasi nimi] ja asendage andmebaasi nimi. Sisestage source [failinimi] ja asendage varem võetud tõmmisfaili nimi.
Kui olete lõpetanud, kuvatakse SQL-lausete täitmise teadete loend. Hoidke vigade eest silm peal, kuid kui teil on õiged load, peaks kõik korras olema.
Kui protsess on lõppenud, on teil algse andmebaasi duplikaat. Andmebaaside sarnasuse kontrollimiseks tehke teine tõmmis ja võrrelge kahte väljundit. Kasutage kahe faili võrdlemiseks tekstiredaktorit või spetsiaalset diferentseerimistööriista.
Nende failide vahel on kaks erinevust, mida tähistavad punased jooned parema kerimisriba üla- ja alaosas. Esimene on rida, mis sisaldab andmebaasi nime ja see on erinev, kuna failid nimetati erinev alt. Teine on tühjefaili ajatempel. See on erinev, kuna teine andmebaas loodi uuesti pärast esimest. Vastasel juhul on failid täpselt samad, mis tähendab, et ka need genereerinud andmebaasid on samad.
KKK
Kuidas parandada mysqldump viga: Lukustabelite kasutamisel on juurdepääs keelatud?
Paluge oma andmebaasi administraatoril anda teile LOCK-õigus. Kui see probleemi ei lahenda, proovige käivitada sama käsk mysqldump, lisades lipu - -single-transaction, näiteks [ $ mysqldump --single-transaction] [-u kasutaja] [-p DBNAME] > backup.sql
Kas saate mysqldumpiga kasutada klauslit "kus"?
Kasutage WHERE-klauslit, kui loote varukoopia, mis sisaldab ainult antud tingimusele vastavaid ridu. Näiteks andmete väljavõtmiseks ainult ridadest, mille id veerg on suurem kui 100, sisestage "mysqldump my_db_name my_table_name --where="id > 100" > my_backup.sql.