በ MySQL ውስጥ ምስጠራ፡ ዋና ቁልፍ ማሽከርከር

ለትምህርቱ አዲስ ምዝገባ እንደሚጀምር በመጠባበቅ ላይ "መረጃ ቋት" ስለ ምስጠራ በ MySQL ውስጥ ተከታታይ መጣጥፎችን ማተም እንቀጥላለን።

በዚህ ተከታታይ ርዕስ ውስጥ ባለፈው ርዕስ ላይ ተወያይተናል ዋና ቁልፍ ምስጠራ እንዴት እንደሚሰራ. ዛሬ, ቀደም ሲል በተገኘው እውቀት መሰረት, ዋና ዋና ቁልፎችን መዞርን እንይ.

የማስተር ቁልፍ ማሽከርከር አዲስ ዋና ቁልፍ ማመንጨት እና በዚህ አዲስ ቁልፍ የጠረጴዛ ቦታ ቁልፎችን እንደገና ማመስጠርን ያካትታል።

የተመሰጠረ የጠረጴዛ ቦታ ራስጌ ምን እንደሚመስል እናስታውስ፡-

በ MySQL ውስጥ ምስጠራ፡ ዋና ቁልፍ ማሽከርከር

ካለፈው መጣጥፍ አገልጋዩ በሚነሳበት ጊዜ ሁሉንም የተመሰጠሩ የጠረጴዛ ቦታዎችን ራስጌ እንደሚያነብ እና ትልቁን የቁልፍ መታወቂያ እንደሚያስታውስ እናውቃለን። ለምሳሌ ከ KEY ጋር ሶስት ጠረጴዛዎች ካሉንመታወቂያ = 3 እና አንድ ጠረጴዛ ከቁልፍ ጋርመታወቂያ = 4, ከዚያም ከፍተኛው የቁልፍ መታወቂያ 4 ይሆናል. ይህንን ቁልፍ መታወቂያ - MAX KEY ID እንጥራው.

ዋና ቁልፍ ማሽከርከር እንዴት እንደሚሰራ

1. ተጠቃሚው ALTER INNODB MASTER ቁልፍን ይሰራል።

2. አገልጋዩ በ UUID እና በቁልፍ አገልጋዩ አዲስ ማስተር ቁልፍ እንዲያመነጭ የቁልፉን ጠይቋልመታወቂያ ከአንድ ሲደመር MAX ጋር እኩል ነው።KEYመታወቂያ ስለዚህ የማስተር ቁልፍ መታወቂያ ከ INNODB ጋር እኩል እናገኛለንቁልፍ-UUID-(ማክስKEYመታወቂያ + 1) የማስተር ቁልፍ በተሳካ ሁኔታ ሲፈጠር የMAX KEY መታወቂያ በአንድ (ማለትም ከፍተኛ) ይጨምራል።KEYመታወቂያ=MAXKEYመታወቂያ + 1)

3. አገልጋዩ በማስተር ቁልፍ የተመሰጠሩትን ሁሉንም የጠረጴዛ ቦታዎች እና ለእያንዳንዱ የጠረጴዛ ቦታ ይቃኛል።

  • በአዲሱ ዋና ቁልፍ የጠረጴዛ ቦታ ቁልፍን ኢንክሪፕት ያደርጋል;

  • የቁልፍ መታወቂያውን ወደ አዲሱ MAX ያዘምናል።KEYመታወቂያ;

  • UUID ከአገልጋዩ UUID የተለየ ከሆነ፣ከዚያ አገልጋዩን UUID ያዘምኑ።

እንደምናውቀው፣ ጠረጴዛን ለመግለጥ የሚያገለግለው የማስተር ቁልፍ መታወቂያ UUID እና የቁልፍ መታወቂያ ከጠረጴዛ ቦታ ራስጌ የተነበበ ነው። አሁን እያደረግን ያለነው ይህንን መረጃ በጠረጴዛ ቦታ ምስጠራ ራስጌ ላይ በማዘመን አገልጋዩ ትክክለኛውን ዋና ቁልፍ እንዲቀበል ነው።

ከተለያዩ ቦታዎች እንደ የተለያዩ መጠባበቂያዎች ያሉ የጠረጴዛ ቦታዎች ካሉን, ከዚያም የተለያዩ ዋና ቁልፎችን ሊጠቀሙ ይችላሉ. እነዚህ ሁሉ ዋና ቁልፎች አገልጋዩ ሲጀመር ከማጠራቀሚያው ውስጥ ማውጣት አለባቸው። ይህ በተለይ የአገልጋይ-ጎን ቁልፍ ማከማቻ ጥቅም ላይ ከዋለ የአገልጋዩን ጅምር ሊያዘገየው ይችላል። በማስተር ቁልፍ ሽክርክር የጠረጴዛ ቦታ ቁልፎችን ከአንድ ዋና ቁልፍ ጋር በድጋሚ እናመሰጥራቸዋለን ይህም ለሁሉም የጠረጴዛ ቦታዎች ተመሳሳይ ነው። አገልጋዩ አሁን በሚነሳበት ጊዜ አንድ ዋና ቁልፍ ብቻ መቀበል አለበት።

ይህ በእርግጥ ደስ የሚል የጎንዮሽ ጉዳት ብቻ ነው. የማስተር ቁልፍ ማሽከርከር ዋና አላማ አገልጋያችንን የበለጠ ደህንነቱ የተጠበቀ ማድረግ ነው። ማስተር ቁልፉ በሆነ መንገድ ከካዝናው ውስጥ ከተሰረቀ (ለምሳሌ ከቮልት አገልጋይ) አዲስ ዋና ቁልፍ ማመንጨት እና የጠረጴዛ ቦታ ቁልፎችን እንደገና በማመስጠር የተሰረቀውን ቁልፍ ዋጋ በማሳጣት። ደህና ነን...በቅርብ።

በቀደመው መጣጥፍ የጠረጴዛ ቦታ ቁልፍ አንዴ ከተሰረቀ ሶስተኛ አካል መረጃን ለመፍታት እንዴት እንደሚጠቀም ተናግሬ ነበር። የኛ ዲስክ መዳረሻ ካለ። የማስተር ቁልፉ ከተሰረቀ እና የተመሰጠረውን መረጃ ማግኘት ካለብዎት የተሰረቀውን ማስተር ቁልፍ ተጠቅመው የጠረጴዛ ቦታ ቁልፍን መፍታት እና ዲክሪፕት የተደረገውን መረጃ ማግኘት ይችላሉ። እንደሚመለከቱት, የዋናው ቁልፍ መዞር በዚህ ጉዳይ ላይ አይረዳም. የጠረጴዛ ቦታ ቁልፉን በአዲስ ማስተር ቁልፍ ደግመን እናመሰጥርዋለን፣ነገር ግን መረጃውን ለመመስጠር/ለመግለጽ የሚጠቅመው ትክክለኛው ቁልፍ ያው ነው። ስለዚህ, "ጠላፊው" ውሂቡን ለመፍታት መጠቀሙን ሊቀጥል ይችላል. ቀደም ብዬ ጠቁሜ ነበር። Percona አገልጋይ ለ MySQL ቀላል የጠረጴዛ ቦታ ቁልፍ እንደገና ምስጠራን ብቻ ሳይሆን እውነተኛ የጠረጴዛ ቦታን እንደገና ማመስጠርን ማከናወን ይችላል። ይህ ባህሪ ኢንክሪፕሽን ክሮች ይባላል። ሆኖም ይህ ተግባር በአሁኑ ጊዜ የሙከራ ነው።

የማስተር ቁልፍ ማሽከርከር ዋናው ቁልፍ ሲሰረቅ ይጠቅማል፣ ነገር ግን አጥቂ እሱን ለመጠቀም እና የጠረጴዛ ቦታ ቁልፎችን የሚፈታበት ምንም መንገድ የለም።

ለነጻ ማሳያ ትምህርት ይመዝገቡ።

ተጨማሪ ያንብቡ፡

ምንጭ: hab.com