Ìsekóòdù ni MySQL: Titunto si Key Yiyi

Ni ifojusona ti ibẹrẹ iforukọsilẹ tuntun fun iṣẹ-ẹkọ naa "Ibi ipamọ data" a tẹsiwaju lati ṣe atẹjade lẹsẹsẹ awọn nkan nipa fifi ẹnọ kọ nkan ni MySQL.

Nínú àpilẹ̀kọ tó ṣáájú nínú ọ̀wọ́ àpilẹ̀kọ yìí, a jíròrò bi titunto si ìsekóòdù bọtini ṣiṣẹ. Loni, da lori imọ ti a gba tẹlẹ, jẹ ki a wo yiyi ti awọn bọtini akọkọ.

Yiyi bọtini Titunto pẹlu ṣiṣẹda bọtini titunto si ati tun-fifipamọ awọn bọtini aaye tabili (eyiti o wa ni ipamọ sinu awọn akọle aaye tabili) pẹlu bọtini tuntun yii.

Jẹ ki a ranti kini akọsori ti aaye tabili ti paroko dabi:

Ìsekóòdù ni MySQL: Titunto si Key Yiyi

Lati nkan ti tẹlẹ, a mọ pe olupin naa ka awọn akọle ti gbogbo awọn aaye tabili ti paroko ni ibẹrẹ ati ranti ID KEY ti o tobi julọ. Fun apẹẹrẹ ti a ba ni awọn tabili mẹta pẹlu KEYID = 3 ati tabili kan pẹlu KEYID = 4, lẹhinna ID bọtini ti o pọju yoo jẹ 4. Jẹ ki a pe ID KEY yii - MAX KEY ID.

Bawo ni yiyi bọtini titunto si ṣiṣẹ

1. Olumulo naa ṣiṣẹ ALTER INNODB MASTER Key.

2. Olupin naa n beere bọtini bọtini lati ṣe agbekalẹ bọtini titun kan pẹlu olupin UUID ati KEYID dogba si ọkan plus MAXKỌID. Nitorinaa a gba id bọtini titunto si INNODBKEY-UUID-(MAXKỌID + 1). Lori iran aṣeyọri ti bọtini titunto si, MAX KEY ID ti ni afikun nipasẹ ọkan (ie MAXKỌID=MAXKỌID + 1).

3. Olupin naa ṣayẹwo gbogbo awọn aaye tabili ti paroko pẹlu bọtini titunto si, ati fun aaye tabili kọọkan:

  • encrypts awọn tablespace bọtini pẹlu titun titunto si bọtini;

  • ṣe imudojuiwọn id bọtini si MAX tuntunKỌID;

  • ti UUID ba yatọ si olupin UUID, lẹhinna ṣe imudojuiwọn UUID olupin naa.

Gẹgẹbi a ti mọ, ID bọtini Titunto ti a lo lati kọ tabili kan ni UUID ati ID KEY kan ti a ka lati akọsori aaye tabili. Ohun ti a n ṣe ni bayi n ṣe imudojuiwọn alaye yii ni akọsori fifi ẹnọ kọ nkan tabilispace ki olupin naa gba bọtini titunto si to pe.

Ti a ba ni awọn aaye tabili lati awọn ipo oriṣiriṣi, gẹgẹbi oriṣiriṣi awọn afẹyinti, lẹhinna wọn le lo awọn bọtini titunto si oriṣiriṣi. Gbogbo awọn bọtini titunto si yoo nilo lati gba pada lati ibi ipamọ nigbati olupin ba bẹrẹ. Eyi le fa fifalẹ ibẹrẹ olupin, paapaa ti ile itaja bọtini ẹgbẹ olupin kan ba lo. Pẹlu yiyi bọtini titunto si, a tun ṣe encrypt awọn bọtini tabili aaye pẹlu bọtini titunto kan ti o jẹ kanna fun gbogbo awọn aaye tabili. Olupin yẹ ki o gba bọtini titunto kan nikan ni ibẹrẹ.

Eyi, dajudaju, jẹ ipa ẹgbẹ ti o wuyi nikan. Idi akọkọ ti yiyi bọtini titunto si ni lati jẹ ki olupin wa ni aabo diẹ sii. Ninu iṣẹlẹ ti a ti ji bọtini titunto si bakan lati inu ifinkan (fun apẹẹrẹ, lati ọdọ olupin ifinkan), o ṣee ṣe lati ṣe ipilẹṣẹ bọtini titun kan ki o tun fi awọn bọtini tabili aaye pamọ, di bọtini ji ji. A wa lailewu...o fẹrẹ to.

Ninu nkan ti tẹlẹ, Mo ti sọrọ nipa bii ni kete ti a ti ji bọtini tabili tabili kan, ẹnikẹta le lo lati kọ data naa. Pese pe wiwọle wa si disk wa. Ti o ba ti ji bọtini titunto si ati pe o ni iwọle si data fifi ẹnọ kọ nkan, o le lo bọtini titunto si ji lati yo bọtini tabili aaye ati gba data ti a ti pa akoonu. Bi o ti le rii, yiyi bọtini titunto si ko ṣe iranlọwọ ninu ọran yii. A tun fi koodu paṣiparọ tabili aaye pẹlu bọtini titunto si, ṣugbọn bọtini gangan ti a lo lati encrypt/decrypt data wa kanna. Nitorinaa, “agbonaeburuwole” naa le tẹsiwaju lati lo lati ge data naa. Ni iṣaaju Mo yọwi pe Olupin Percona fun MySQL le ṣe otitọ tablespace tun ìsekóòdù, ko o kan o rọrun tablespace bọtini tun ìsekóòdù. Ẹya yii ni a pe ni awọn okun fifi ẹnọ kọ nkan. Sibẹsibẹ, iṣẹ ṣiṣe yii tun jẹ idanwo ni akoko yii.

Yiyi bọtini Titunto jẹ iwulo nigbati bọtini titunto si ti ji, ṣugbọn ko si ọna fun ikọlu lati lo ati kọ awọn bọtini tabili aaye.

Forukọsilẹ fun ẹkọ demo ọfẹ kan.

Ka siwaju:

orisun: www.habr.com