Şîfrekirin di MySQL de: Zivirandina Mifteya Master

Li hêviya destpêkirina qeydek nû ya ji bo qursê "Datebase" em berdewamiya weşandina rêze gotaran di derbarê şîfrekirinê de di MySQL de dikin.

Di gotara berê ya vê rêzê de, me nîqaş kir çawa şîfrekirina mifteya sereke dixebite. Îro, li ser bingeha zanîna ku berê hatî desteser kirin, ka em li zivirandina kilîtên sereke binêrin.

Zivirandina mifteya sereke bi vê mifteya nû ve hilberandina mifteyek sereke ya nû û ji nû ve şîfrekirina bişkojkên qada tabloyê (yên ku di sernavên cîhê tabloyê de têne hilanîn) vedihewîne.

Ka em bînin bîra xwe ku sernavê cîhek tabloya şîfrekirî çawa xuya dike:

Şîfrekirin di MySQL de: Zivirandina Mifteya Master

Ji gotara berê, em dizanin ku server di destpêkê de sernavên hemî tabloyên şîfrekirî dixwîne û nasnameya KEY ya herî mezin bi bîr tîne. Mînak ger sê tabloyên me yên bi KEY hebinID = 3 û yek tabloya bi KEYNasname = 4, wê demê nasnameya mifteyê ya herî zêde dê bibe 4. Werin em ji vê Nasnameya KEYÊ re bibêjin - NASNAya KEYÊ MAX.

Zivirandina mifteya master çawa dixebite

1. Bikarhêner ALTER INNODB MASTER KEY dimeşîne.

2. Pêşkêşker ji keyringê daxwaz dike ku bi server UUID û KEY re mifteyek sereke ya nû çêbikeNasname bi yek plus MAX re wekhev eQÛFLEID. Ji ber vê yekê em id mifteya masterê bi INNODB re wekhev digirinKEY-UUID-(MAXQÛFLENas + 1). Li ser hilberîna serketî ya mifteya sereke, MAX KEY ID yek (ango MAX) zêde dibeQÛFLENasname=MAXQÛFLENas + 1).

3. Pêşkêşkar hemî cîhên tabloyên ku bi mifteya sereke hatine şîfrekirin, û ji bo her cîhê masê dişoxilîne:

  • mifteya sifrê bi mifteya sereke ya nû şîfre dike;

  • id-ya mifteyê ji MAX-a nû re nûve dikeQÛFLEID;

  • heke UUID ji server UUID cuda be, wê hingê server UUID nûve bike.

Wekî ku em dizanin, Nasnameya Mifteya Master ku ji bo deşîfrekirina tabloyek tê bikar anîn ji UUID û nasnameyek KEY-ê ​​ku ji sernavê cîhê tabloyê tê xwendin pêk tê. Tiştê ku em niha dikin ev e ku vê agahiyê di sernavê şîfrekirina sifrê de nûve bikin da ku server mifteya sereke ya rast bistîne.

Ger cîhên me yên tabloyên ji cîhên cihê hene, wek paşpirtikên cihêreng, wê hingê ew dikarin bişkokên sereke yên cihêreng bikar bînin. Dema ku server dest pê kir dê hemî van mifteyên sereke hewce bike ku ji depoyê werin derxistin. Ev dikare destpêkirina serverê hêdî bike, nemaze ger firotgehek mifteya serverê were bikar anîn. Bi zivirandina mifteya sereke re, em bişkojkên cîhê masê ji nû ve şîfre dikin bi yek keyek sereke ku ji bo hemî cîhên tabloyê yek e. Pêdivî ye ku server di destpêkê de tenê yek mifteya sereke bistîne.

Ev, bê guman, tenê bandorek alîyek xweş e. Armanca sereke ya zivirîna mifteya master ev e ku servera me ewletir bike. Di bûyera ku mifteya sereke bi rengek ji kavilê hate dizîn (mînakî, ji Pêşkêşkara Vault), mimkun e ku mifteyek sereke ya nû çêbike û bişkojkên tabloyê ji nû ve şîfre bike, ku mifteya dizî betal bike. Em ewle ne ... hema.

Di gotarek berê de, min behsa wê yekê kir ku çawa gava ku mifteyek sifrê were dizîn, partiyek sêyemîn dikare wê bikar bîne da ku daneyan deşîfre bike. Bi şertê ku gihîştina dîska me hebe. Ger mifteya sereke were dizîn û we bigihîje daneyên şîfrekirî, hûn dikarin mifteya sereke ya dizî bikar bînin da ku mifteya tabloyê deşîfre bikin û daneyên deşîfrekirî bistînin. Wekî ku hûn dikarin bibînin, zivirîna mifteya sereke di vê rewşê de ne alîkar e. Em mifteya tabloyê bi mifteya sereke ya nû ji nû ve şîfre dikin, lê mifteya rastîn a ku ji bo şîfrekirin/deşîfrekirina daneyan tê bikar anîn heman dimîne. Ji ber vê yekê, "hacker" dikare berdewam bike ku wê bikar bîne da ku daneyan deşîfre bike. Berê min îşaret pê kir Pêşkêşkara Percona ji bo MySQL dikare ji nû ve şîfrekirina cîhê tabloya rastîn, ne tenê ji nû ve-şîfrekirina mifteya tabloya sade pêk bîne. Ji vê taybetmendiyê re têlên şîfrekirinê tê gotin. Lêbelê, ev fonksiyon hîn jî di vê demê de ceribandin e.

Zivirîna mifteya sereke dema ku mifteya sereke tê dizîn bikêr e, lê rê tune ku êrîşkar wê bikar bîne û bişkojkên tabloyê deşîfre bike.

Ji bo dersek demo ya belaş qeyd bikin.

Zêdetir bixwînin:

Source: www.habr.com