Išsamus MySQL/MariaDB atsarginių kopijų kūrimo ir dekompresijos komandų vadovas: nuo pradedančiojo iki eksperto

MySQLIšsamus „MariaDB“ atsarginių kopijų kūrimo ir dekompresijos komandų vadovas

Nuo pradedančiojo iki eksperto, tai pasakoja...mySQLŠie kursai suteikia išsamią darbo eigą, skirtą atsarginių kopijų kūrimui, „gzip“ glaudinimui, „gunzip“ išskleidimui ir „MySQL“ importavimui, padedant kūrėjams greitai įvaldyti duomenų bazių atsarginių kopijų kūrimo ir atkūrimo įgūdžius, siekiant užtikrinti duomenų saugumą ir verslo tęstinumą.

Nors „MySQL“ ir „MariaDB“ turi tą pačią kilmę, jos labai skiriasi atvirojo kodo licencijavimu, funkcijų plėtra, našumo optimizavimu ir bendruomenės ekosistema. „MariaDB“ pabrėžia visišką atvirojo kodo ir funkcijų inovacijas, o „MySQL“ remiasi „Oracle“ komercine parama ir labiau tinka įmonių lygio programoms.

Tik tada, kai sugedo duomenų bazė, supratau atsarginių kopijų svarbą.

Kiekvienas kūrėjas yra patyręs duomenų praradimo skausmą, o „MySQL“ ir „MariaDB“ atsarginių kopijų kūrimo ir atkūrimo komandos yra tas gelbėjimosi ratas.

Dabar parodysiu jums tiesiausią būdą, kaip nuodugniai suprasti atsarginių kopijų kūrimo, išskleidimo ir importavimo komandas, skirtas „MySQL“ / „MariaDB“.

Kodėl MySQL/MariaDB atsarginių kopijų komandos yra tokios svarbios?

Duomenys yra verslo gyvybės šaltinis.

Jei duomenų bazė sugadinta, tai gali sukelti verslo sutrikimų ar net milijonų dolerių nuostolių.

Remiantis žurnale „IEEE Transactions on Computers“ atliktu tyrimu, dėl duomenų bazių prastovų įmonės patiria nuostolius iki [trūkstama suma] per minutę.5600 USD(Šaltinis: IEEE, 2023).

Štai kodėl turite būti susipažinę su atsarginių kopijų kūrimo komandomis.

Išsamus MySQL/MariaDB atsarginių kopijų komandų paaiškinimas

Išsamus MySQL/MariaDB atsarginių kopijų kūrimo ir dekompresijos komandų vadovas: nuo pradedančiojo iki eksperto

Dažniausias atsarginių kopijų kūrimo būdas yra naudotimysqldump.

Komanda yra tokia:

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
  • -u root: Nurodykite vartotoją.
  • -p[root_password]Įveskite savo slaptažodį.
  • [database_name]: Duomenų bazės, kurios atsarginę kopiją norite sukurti, pavadinimas.
  • dumpfilename.sqlAtsarginės kopijos failo pavadinimas.

Pavyzdžiui, jei jūsų duomenų bazė vadinasi...shopdbFailo pavadinimas yrashop_backup.sqlTaigi, komanda yra tokia:

mysqldump -u root -p123456 shopdb > shop_backup.sql

„MariaDB“ taip pat tai palaiko.mysqldumpSintaksė yra visiškai nuosekli.

Argi tuo nesižavite?

Atsarginės kopijos failo dydis ir glaudinimas

Kartais duomenų bazės failai yra labai dideli, vos keli gigabaitai.

Čia ir prasideda suspaudimas.

LinuxDažniausia suspaudimo komanda yragzip:

gzip shop_backup.sql

Suspaustas failas tampashop_backup.sql.gz.

Tai ne tik taupo vietą sandėlyje, bet ir palengvina perdavimą.

Išpakavimo komanda: pirmas atkūrimo žingsnis

Prieš importuojant duomenų bazę, ją reikia išskleisti.

Komanda yra tokia:

gunzip FileName.gz

Vertimas:

gunzip shop_backup.sql.gz

Po dekompresijos gausiteshop_backup.sqlTai failas, kurį galima importuoti.

Išsamus MySQL/MariaDB importavimo komandų paaiškinimas

Importavimo komanda ir atsarginės kopijos kūrimas yra beveik viena kitos veidrodiniai atvaizdai:

mysql -u root -p[root_password] [database_name] < dumpfilename.sql

Pavyzdžiui:

mysql -u root -p123456 shopdb < shop_backup.sql

Šiame žingsnyje visi duomenys iš failo importuojami į duomenų bazę.

MariaDB taip pat naudojamysqlKomanda „import“ yra visiškai suderinama.

Realus scenarijus: visas procesas nuo atsarginės kopijos kūrimo iki atkūrimo

Tarkime, kad turiteElektroninė komercija数据库shopdb.

  1. Atsarginė kopija:

    mysqldump -u root -p123456 shopdb > shop_backup.sql
    
  2. 压缩:

    gzip shop_backup.sql
    

gautishop_backup.sql.gz.

  1. Išpakuokite:
    gunzip shop_backup.sql.gz
    

Atkurti įshop_backup.sql.

  1. Importuoti:
    mysql -u root -p123456 shopdb < shop_backup.sql
    

Visas procesas buvo užbaigtas sklandžiai.

Dažniausios klaidos ir sprendimai

  • 1 klaida: Prieiga uždrausta
    Tai rodo neteisingą slaptažodį arba nepakankamas vartotojo teises.
    Sprendimas: patikrinkite, ar vartotojo teisės yra suteiktos.SELECTIrINSERTLeidimai.

  • 2 klaida: Nepakanka atminties
    Duomenų bazė buvo importuota rankiniu būdu dėl nepakankamos atminties.
    Sprendimas: Naudokite--single-transactionParametrų importavimas paketu.

  • 3 klaida: iškraipyto teksto problema
    Po importavimo kinų simboliai rodomi kaip klaustukai.
    Sprendimas: prie komandos pridėkite šiuos duomenis--default-character-set=utf8mb4.

Oficialioje „MySQL“ dokumentacijoje aiškiai nurodyta:

"naudotimysqldumpTai geriausias būdas atlikti logines atsargines kopijas, nes užtikrinamas duomenų struktūros ir duomenų turinio nuoseklumas. (Šaltinis: „MySQL Reference Manual“, „Oracle“)

Oficialioje „MariaDB“ dokumentacijoje taip pat pabrėžiama:

„MariaDB“ yra visiškai suderinama su „MySQL“ atsarginių kopijų kūrimo ir atkūrimo komandomis, todėl kūrėjai gali sklandžiai migruoti.“ (Šaltinis: „MariaDB“ žinių bazė)

Tai dar kartą pabrėžia komandinės eilutės atsarginių kopijų svarbą.

Išplėstiniai metodai: automatinis atsarginių kopijų kūrimas

Rankinės atsarginės kopijos yra pernelyg sudėtingos?

Gali naudoticrontabSuplanuotos užduotys.

Pavyzdžiui, automatinis atsarginių kopijų kūrimas kiekvieną dieną 2 val.:

0 2 * * * mysqldump -u root -p123456 shopdb > /backup/shop_$(date +\%F).sql

Tai sukurs atsarginę kopiją su data kiekvieną dieną.

apibendrinti

Duomenų bazės atsarginė kopija nėra pasirinkimas, o gyvybės ir mirties klausimas.

meistrasmysqldump,gunzipIrmysqlImportavimo komanda yra tarsi maitinimo jungiklis, skirtas valdyti duomenų bazę.

Mano mintis labai aiški:Duomenų saugumas yra svarbiausias įmonių prioritetas, o atsarginės kopijos yra vienintelė gynybos linija.

Kaip teigė „Harvard Business Review“:

"Skaitmeniniame amžiuje duomenys yra vertingesni už auksą."

Taigi, imkitės veiksmų dabar, užsirašykite savo scenarijus ir tvirtai laikykite duomenis savo rankose.

Tai susiję ne tik su technologijomis, bet ir su atsakomybe.

发表 评论

Jūsų el. pašto adresas nebus skelbiamas. Naudojami privalomi laukai * Etiketė

Pereikite į viršų