Mysqldump nima va undan qanday foydalanaman?

Mundarija:

Mysqldump nima va undan qanday foydalanaman?
Mysqldump nima va undan qanday foydalanaman?
Anonim

Bepul mavjud boʻlgan yetakchi maʼlumotlar bazalaridan biri sifatida MySQL koʻplab veb-ilovalar uchun mashhur tanlovdir. Internetga ta'sir qilgan holda, ilovangiz zararli hujumlarga duchor bo'ladi. Agar serveringiz buzilgan bo'lsa, eng yaxshi holatda dasturni qayta o'rnatishingiz kerak; eng yomoni, ma'lumotlaringizni yo'qotishingiz mumkin. Bundan tashqari, siz ma'lumotlar bazasini bir serverdan boshqasiga ko'chirishingiz kerak bo'lgan vaziyatga tushib qolishingiz mumkin.

mysqldump nima uchun ishlatiladi?

Mysqldump vositasi sizga ham server buzilishi, ham migratsiya holatlari uchun javob beradi. Uning asosiy vazifasi MySQL ma'lumotlar bazasini olish va uni matnli fayl sifatida chiqarishdir. Lekin har qanday matn fayli emas; fayl SQL bayonotlari to'plamidir. Ushbu bayonotlar bajarilganda, ma'lumotlar bazasini axlatni yig'ish paytidagi aniq holatga qayta tiklaydi.

Ma'lumotlar bazasini zahira sifatida eksport qilish yoki ma'lumotlar bazasini yangi xostga ko'chirishda mysqldump-dan foydalaning. Ikkala holatda ham matn fayli MySQL ma'lumotlar bazasi serveriga qayta import qilinadi. U fayldagi barcha SQL ko'rsatmalarini bajaradi, bu esa ma'lumotlar bazasini asl holatiga qaytaradi. Bu qism mysqldump buyrug'idan foydalanmaydi, lekin bu yordam dasturisiz ham amalga oshirib bo'lmaydi.

MySQL hujjatlarida zahira nusxalarini yaratishning boshqa usullari koʻrsatilgan, ammo ularning kamchiliklari bor:

  • MySQL Enterprise'dan ma'lumotlar bazasini hotcopying - bu zaxira nusxalariga erishishning ajoyib usuli - agar Enterprise narxiga qarshi bo'lmasangiz.
  • Ma'lumotlar bazasi ma'lumotlari kataloglaridan nusxa ko'chirish operatsion tizimlar bo'ylab harakatlanayotganda qiyin bo'lishi mumkin, chunki maqsad har xil bo'ladi.
  • Ajratilgan matn fayliga eksport qilish sizga kontentni beradi, lekin tuzilmani qayta yaratishingiz kerak boʻladi.
  • Siz koʻpincha MySQL Workbench kabi GUI dasturlaridan maʼlumotlar bazalarini zaxiralashingiz mumkin. Lekin bu qo'lda bajariladigan jarayon; siz skript qilishingiz yoki ommaviy ishga kiritishingiz mumkin emas.

mysqldump vositasini oʻrnating

Windows uchun MySQL-ni Windows 7-ga o'rnatish bo'yicha ko'rsatmalarimizni tekshiring (o'rnatish jarayoni Windows 10 uchun bir xil). MacOS’da MySQL’ni macOS 10.7’ga o‘rnatish bo‘yicha ko‘rsatmalarimizni ko‘ring (yana eskiroq, lekin hali ham amal qiladi). Ubuntu-ga asoslangan Linux tizimlari foydalanuvchilari MySQL mijozi va yordamchi dasturlarini o'rnatish uchun quyidagi buyruqdan foydalanishlari mumkin:

sudo apt install mysql-client

MySQL axlatini chiqarib oling

Oʻrnatilgandan soʻng maʼlumotlar bazasining toʻliq zaxira nusxasini olish uchun mysqldump-dan foydalaning.

mysqldump -h [JB hostingiz nomi yoki IP] -u [JB foydalanuvchisi nomi] -p [maʼlumotlar bazasi nomi] > db_backup.sql

Mana bu buyruqda ishlatiladigan bayroqlarning tavsifi:

  • - h: Bu bayroq ma'lumotlar bazasi xosti. Bu to'liq xost nomi (masalan, myhost.domain.com) yoki IP manzil bo'lishi mumkin. Agar buyruqni MySQL serveri bilan bir xil xostda ishlatsangiz, bu joyni bo'sh qoldiring.
  • - u: Sizning foydalanuvchi nomingiz.
  • - p: MySQL oʻrnatilishini toʻgʻri himoya qilgan boʻlsangiz, ulanish uchun parol kerak boʻladi. Argumentsiz bu bayroq buyruqni bajarganingizda parol so'raydi. Ba'zan parolni to'g'ridan-to'g'ri ushbu bayroqning argumenti sifatida, masalan, zaxira skriptida ko'rsatish foydali bo'ladi. Lekin so'rovda buni qilmaslik kerak, chunki kimdir kompyuteringizga kirish huquqiga ega bo'lsa, u buyruqlar tarixida bu parolni olishi mumkin.
  • > db_backup.sql: Bu qism mysqldump-ga chiqishini faylga yoʻn altirishini aytadi. Odatda, buyruq hamma narsani konsolga chiqaradi, ya'ni siz ekranda bir nechta SQL bayonotlarini ko'rasiz. > belgisi chiqishni nomlangan matn fayliga o'tkazadi. Agar bu fayl mavjud boʻlmasa, u avtomatik tarzda yaratiladi.

U tugagach, sizda. SQL fayli boʻladi. Bu SQL bayonotlarini o'z ichiga olgan matnli fayl. Tarkibni tekshirish uchun uni istalgan matn muharririda ochishingiz mumkin. Bu fayllar qanday birlashtirilganligini koʻrsatadigan WordPress maʼlumotlar bazasidan eksport qilinmoqda.

Image
Image

Fayl bo'limlarga bo'lingan. Birinchi bo'lim WordPress sharhlari uchun jadvalni o'rnatadi. Ikkinchi bo'lim o'sha jadvallardagi tarkibni qayta yaratadi (bu misolda sharhlar qayd etiladi). MySQL dumpini qayta import qilganingizda, buyruq fayl bo'ylab ishlaydi, bayonotlarni bajaradi va ma'lumotlar bazasini avvalgidek qayta yaratadi.

MySQL dump faylini import qilish

Dump faylini import qilishdan oldin sizga allaqachon yaratilgan ma'lumotlar bazasi va uning haqiqiy foydalanuvchi nomi va paroli kerak bo'ladi. Shuningdek, siz ma'lumotlar bazasi uchun barcha ruxsatlarga ega bo'lishingiz kerak. Sizga GRANT ruxsati kerak emas, lekin barchasini berish osonroq.

Ma'lumotlar bazasidagi xavfsizlik rollarini o'zgartirishdan oldin ma'lumotlar bazasi ruxsatlari haqida batafsil ma'lumot oling.

Ma'lumotlaringizni qayta import qilish uchun mysql buyrug'i bilan MySQL serveriga kiring. So'rovda use [ma'lumotlar bazasi nomi] yozing va ma'lumotlar bazasi nomini almashtiring. source [fayl nomi] kiriting va avval olingan dump fayl nomini almashtiring.

Tugarganingizda, SQL ko'rsatmalari bajarilayotgani haqida xabarlar ro'yxati paydo bo'ladi. Xatolarni kuzatib boring, lekin agar sizda toʻgʻri ruxsatlar boʻlsa, yaxshi boʻling.

Image
Image

Jarayon tugagach, sizda asl maʼlumotlar bazasining dublikati boʻladi. Ma'lumotlar bazalari o'rtasidagi o'xshashlikni tekshirish uchun yana bir borini bajaring, so'ngra ikkita natijani solishtiring. Ikki faylni solishtirish uchun matn muharriri yoki maxsus farqlash vositasidan foydalaning.

Image
Image

Bu fayllar oʻrtasida ikkita farq bor, ular oʻngdagi aylantirish panelining yuqori va pastki qismidagi qizil chiziqlar bilan ifodalanadi. Birinchisi, ma'lumotlar bazasi nomini o'z ichiga olgan qatordir va bu boshqacha, chunki fayllar boshqacha nomlangan. Ikkinchisi, dump fayli uchun vaqt tamg'asi. Bu boshqacha, chunki ikkinchi ma'lumotlar bazasi birinchisidan keyin qayta yaratilgan. Aks holda, fayllar aynan bir xil, ya'ni ularni yaratgan ma'lumotlar bazalari ham.

FAQ

    Mysqldump xatosini qanday tuzatasiz: Bloklangan jadvallardan foydalanishda kirish taqiqlanganmi?

    Ma'lumotlar bazasi administratoridan sizga LOCK imtiyozini berishini so'rang. Agar bu muammoni hal qilmasa, - -single-transaction belgisini qoʻshib bir xil mysqldump buyrugʻini ishga tushirib koʻring, masalan, [ $ mysqldump --single-transaction] [-u foydalanuvchi] [-p DBNAME] > backup.sql

    Mysqldump bilan "qaerda" bandidan foydalana olasizmi?

    Zaxira nusxasini yaratishda WHERE bandidan foydalaning, unga faqat berilgan shartga javob beradigan qatorlar kiradi. Misol uchun, faqat id ustuni 100 dan katta boʻlgan satrlardagi maʼlumotlarni oʻchirish uchun “mysqldump my_db_name my_table_name --where="id > 100" > my_backup.sql” kiriting.

Tavsiya: