Mysqldump ምንድን ነው እና እንዴት ነው የምጠቀመው?

ዝርዝር ሁኔታ:

Mysqldump ምንድን ነው እና እንዴት ነው የምጠቀመው?
Mysqldump ምንድን ነው እና እንዴት ነው የምጠቀመው?
Anonim

ከዋነኞቹ በነጻ የሚገኙ የውሂብ ጎታዎች አንዱ እንደመሆኑ መጠን MySQL ለብዙ የድር መተግበሪያዎች ታዋቂ ምርጫ ነው። ለበይነመረብ መጋለጥ መተግበሪያዎ ለተንኮል አዘል ጥቃቶች የተጋለጠ ነው። አገልጋይዎ ከተበላሸ, በተሻለ ሁኔታ, መተግበሪያውን እንደገና መጫን ያስፈልግዎታል; በከፋ ሁኔታ ውሂብዎን ሊያጡ ይችላሉ። በተጨማሪም፣ የውሂብ ጎታውን ከአንድ አገልጋይ ወደ ሌላ ማዛወር የሚያስፈልግበት ሁኔታ ውስጥ ሊገቡ ይችላሉ።

mysqldump ምን ጥቅም ላይ ይውላል?

የ mysqldump መሳሪያ ለአገልጋዩ ስምምነት እና ለስደት ሁኔታዎች ሁለቱንም ሽፋን ሰጥቶሃል። መሠረታዊ ተግባሩ MySQL ዳታቤዝ ወስዶ እንደ የጽሑፍ ፋይል መጣል ነው። ግን ማንኛውም የጽሑፍ ፋይል አይደለም; ፋይሉ የ SQL መግለጫዎች ስብስብ ነው።እነዚህ መግለጫዎች ሲፈጸሙ የውሂብ ጎታውን ቆሻሻው በተፈፀመበት ትክክለኛ ሁኔታ እንደገና ይገነባሉ።

የውሂብ ጎታ ወደ ውጭ መላክን እንደ ምትኬ ለመፍጠር ወይም የውሂብ ጎታውን ወደ አዲስ አስተናጋጅ ሲያንቀሳቅሱ mysqldumpን ይጠቀሙ። በሁለቱም ሁኔታዎች የጽሑፍ ፋይሉ ተመልሶ ወደ MySQL የውሂብ ጎታ አገልጋይ ይመጣል። የውሂብ ጎታውን ወደ መጀመሪያው ሁኔታ የሚገነባውን ሁሉንም የ SQL መግለጫዎች በፋይሉ ውስጥ ያስፈጽማል። ይህ ክፍል የ mysqldump ትዕዛዝን አይጠቀምም፣ ነገር ግን ያለዚህ መገልገያም አይቻልም።

የ MySQL ሰነዶች ምትኬን ለመስራት ሌሎች ዘዴዎችን ይዘረዝራሉ፣ነገር ግን እነዚህ ተቃራኒዎች አሏቸው፡

  • ከ MySQL ኢንተርፕራይዝ ዳታቤዝ መቅዳት እነዚህን መጠባበቂያዎች ለማግኘት ጥሩ መንገድ ነው - የኢንተርፕራይዝ ዋጋ መለያ ካላስቸገራችሁ።
  • በኦፕሬቲንግ ሲስተሞች ላይ በሚንቀሳቀሱበት ጊዜ የመረጃ ቋቱን ውሂብ ማውጫዎች መቅዳት አስቸጋሪ ሊሆን ይችላል፣ ምክንያቱም መድረሻዎቹ ስለሚለያዩ ነው።
  • ወደተገደበ የጽሑፍ ፋይል መላክ ይዘቱን ይሰጥዎታል፣ነገር ግን አወቃቀሩን እንደገና መፍጠር ይኖርብዎታል።
  • ብዙ ጊዜ የውሂብ ጎታዎችን እንደ MySQL Workbench ካሉ GUI ፕሮግራሞች ምትኬ ማድረግ ይችላሉ። ነገር ግን ይህ በእጅ የሚሰራ ሂደት ነው; በቡድን ስራ ውስጥ መፃፍ ወይም ማካተት የሚችሉት ነገር አይደለም።

የmysqldump መሳሪያውን ጫን

ለዊንዶውስ MySQL ን በዊንዶውስ 7 ላይ ለመጫን የእኛን መመሪያ ይመልከቱ (የመጫን ሂደቱ ለዊንዶውስ 10 ተመሳሳይ ነው)። በ macOS ላይ MySQL ን በ macOS 10.7 ላይ ለመጫን የእኛን አቅጣጫዎች ይመልከቱ (እንደገና የቆየ ግን አሁንም የሚተገበር)። በኡቡንቱ ላይ የተመሰረቱ ሊኑክስ ሲስተም ተጠቃሚዎች MySQL ደንበኛን እና መገልገያዎችን ለመጫን የሚከተለውን ትዕዛዝ መጠቀም ይችላሉ፡

sudo apt install mysql-client

የ MySQL Dump አውጣ

ከተጫነ በኋላ የውሂብ ጎታ ሙሉ ምትኬን ለማግኘት mysqldumpን ይጠቀሙ።

mysqldump -h [የእርስዎ DB አስተናጋጅ ስም ወይም አይፒ] -u [የዲቢ ተጠቃሚው ስም] -p [የውሂብ ጎታው ስም] > db_backup.sql

በዚህ ትዕዛዝ ውስጥ ጥቅም ላይ የሚውሉት ባንዲራዎች መግለጫ ይኸውና፡

  • - h፡ ይህ ባንዲራ የመረጃ ቋቱ አስተናጋጅ ነው። ሙሉ የአስተናጋጅ ስም (ለምሳሌ myhost.domain.com) ወይም የአይ ፒ አድራሻ ሊሆን ይችላል። ትዕዛዙን ከ MySQL አገልጋይ ጋር በተመሳሳይ አስተናጋጅ ላይ ካሄዱት ይህንን ባዶ ይተዉት።
  • - u፡ የተጠቃሚ ስምህ።
  • - p: የ MySQL መጫኑን በትክክል ካረጋገጡ፣ ለመገናኘት የይለፍ ቃል ያስፈልግዎታል። ምንም ክርክር የሌለበት ይህ ጥቆማ ትዕዛዙን ሲፈጽሙ የይለፍ ቃል ይጠይቅዎታል። አንዳንድ ጊዜ የይለፍ ቃሉን በቀጥታ ለዚህ ባንዲራ እንደ መከራከሪያ ማቅረብ ጠቃሚ ነው፣ ለምሳሌ በመጠባበቂያ ስክሪፕት። ነገር ግን በጥያቄው ላይ ማድረግ የለብህም ምክንያቱም የሆነ ሰው ኮምፒውተርህን ማግኘት ከቻለ ይህን የይለፍ ቃል በትእዛዝ ታሪክ ውስጥ ሊያገኘው ይችላል።
  • > db_backup.sql: ይህ ክፍል mysqldump ውጤቱን ወደ ፋይል እንዲመራ ይነግረዋል። በመደበኛነት ትዕዛዙ ሁሉንም ነገር ወደ ኮንሶል ያወጣል, ማለትም በስክሪኑ ላይ ብዙ የ SQL መግለጫዎችን ታያለህ. የ > ምልክት ውጤቱን በተሰየመው የጽሑፍ ፋይል ውስጥ ያስገኛል። ይህ ፋይል ከሌለ በራስ-ሰር ነው የተፈጠረው።

ሲጨርስ የ. SQL ፋይል ይኖረዎታል። ይህ SQL መግለጫዎችን የያዘ የጽሑፍ ፋይል ነው። ይዘቱን ለመፈተሽ በማንኛውም የጽሑፍ አርታዒ ውስጥ መክፈት ይችላሉ. እነዚህ ፋይሎች እንዴት እንደሚጣመሩ የሚያሳይ ከዎርድፕረስ ዳታቤዝ ወደ ውጭ በመላክ ላይ ነው።

Image
Image

ፋይሉ በክፍሎች የተከፈለ ነው። የመጀመሪያው ክፍል ለ WordPress አስተያየቶች ሰንጠረዡን ያዘጋጃል. ሁለተኛው ክፍል በእነዚያ ሠንጠረዦች ውስጥ ያለውን ይዘት እንደገና ይፈጥራል (በዚህ ምሳሌ, የአስተያየት መዝገቦች). የ MySQL መጣያውን እንደገና ሲያስገቡ ትዕዛዙ በፋይሉ ውስጥ ይሰራል፣ መግለጫዎቹን ያስፈጽማል እና ዳታቤዙን እንደነበረው እንደገና ይገነባል።

የ MySQL መጣያ ፋይል አስመጣ

የቆሻሻ ፋይሉን ከማስመጣትዎ በፊት አስቀድሞ የተፈጠረ የውሂብ ጎታ እና ትክክለኛ የተጠቃሚ ስም እና የይለፍ ቃል ያስፈልግዎታል። እንዲሁም ለዳታቤዝ ሁሉም ፈቃዶች ሊኖሩዎት ይገባል። የGRANT ፈቃድ አያስፈልገዎትም፣ ነገር ግን ሁሉንም መስጠት ቀላል ነው።

በመረጃ ቋትዎ ውስጥ የደህንነት ሚናዎችን ከመቀየርዎ በፊት ስለ ዳታቤዝ ፍቃዶች የበለጠ ይወቁ።

ዳታዎን እንደገና ለማስመጣት በ mysql ትዕዛዝ ወደ MySQL አገልጋይ ይግቡ። በመጠየቂያው ላይ ተጠቀም [የውሂብ ጎታ ስም] ይተይቡ እና የውሂብ ጎታውን ስም ይተኩ። ምንጭ [የፋይል ስም] ያስገቡ እና ከዚህ ቀደም የወሰዱትን የቆሻሻ ፋይል ስም ይተኩ።

ሲጨርሱ የSQL መግለጫዎች እየፈጸሙ መሆናቸውን የሚያሳዩ የመልእክቶች ዝርዝር ይታያል። ስህተቶችን ይከታተሉ፣ ነገር ግን ትክክለኛዎቹ ፈቃዶች ካሉዎት፣ ደህና መሆን አለብዎት።

Image
Image

ሂደቱ ሲጠናቀቅ የዋናው ዳታቤዝ ቅጂ ይኖርዎታል። በመረጃ ቋቶች መካከል ያለውን ተመሳሳይነት ለማረጋገጥ ሌላ ቆሻሻ ያከናውኑ ከዚያም ሁለቱን ውጤቶች ያወዳድሩ። ሁለቱን ፋይሎች ለማነጻጸር የጽሑፍ አርታዒ ወይም የተለየ ልዩ መሣሪያ ይጠቀሙ።

Image
Image

በእነዚህ ፋይሎች መካከል በቀኝ ማሸብለያ አሞሌው ላይ ከላይ እና ከታች በቀይ መስመሮች እንደሚወከሉ ሁለት ልዩነቶች አሉ። የመጀመሪያው የውሂብ ጎታውን ስም የያዘው መስመር ነው, እና ይህ የተለየ ነው ምክንያቱም ፋይሎቹ የተሰየሙት በተለያየ መንገድ ነው. ሁለተኛው ለቆሻሻ ፋይል የጊዜ ማህተም ነው። ይህ የተለየ ነው ምክንያቱም ሁለተኛው የውሂብ ጎታ ከመጀመሪያው በኋላ እንደገና የተፈጠረ ነው. አለበለዚያ, ፋይሎቹ በትክክል ተመሳሳይ ናቸው, ማለትም እነሱን ያመነጩ የውሂብ ጎታዎችም እንዲሁ ናቸው.

FAQ

    የmysqldump ስህተቱን እንዴት ማስተካከል ይቻላል፡ የመቆለፊያ ሰንጠረዦችን ሲጠቀሙ መዳረሻ ተከልክሏል?

    የLOCK ልዩ መብት እንዲሰጥህ የውሂብ ጎታ አስተዳዳሪህን ጠይቅ። ይህ ችግሩን ካልፈታው፣ እንደ [ $ mysqldump --single-transaction--single-transaction ባንዲራ በመጨመር ተመሳሳዩን mysqldump ትእዛዝ ለማስኬድ ይሞክሩ።] [-u ተጠቃሚ] [-p DBNAME] > ምትኬ.sql

    ከ mysqldump ጋር "የት" አንቀጽ መጠቀም ትችላለህ?

    የተሰጠውን ሁኔታ የሚያሟሉ ረድፎችን ብቻ የሚያካትት ምትኬ ሲፈጥሩ WHERE አንቀጽ ይጠቀሙ። ለምሳሌ፣ ከ100 በላይ የመታወቂያው አምድ ካላቸው ረድፎች ብቻ ውሂብ ለመጣል "mysqldump my_db_name my_table_name --where="id > 100" > my_backup.sql" ያስገቡ።

የሚመከር: