MySQL இல் குறியாக்கம்: முதன்மை விசை சுழற்சி

படிப்புக்கான புதிய சேர்க்கை தொடங்கும் என்ற எதிர்பார்ப்பில் "தரவுத்தளம்" MySQL இல் குறியாக்கம் பற்றிய தொடர் கட்டுரைகளை நாங்கள் தொடர்ந்து வெளியிடுகிறோம்.

இந்தத் தொடரின் முந்தைய கட்டுரையில், நாங்கள் விவாதித்தோம் முதன்மை விசை குறியாக்கம் எவ்வாறு செயல்படுகிறது. இன்று, முன்பு பெற்ற அறிவின் அடிப்படையில், முக்கிய விசைகளின் சுழற்சியைப் பார்ப்போம்.

முதன்மை விசை சுழற்சி என்பது புதிய முதன்மை விசையை உருவாக்குவது மற்றும் இந்த புதிய விசையுடன் டேபிள்ஸ்பேஸ் கீகளை (டேபிள்ஸ்பேஸ் ஹெடர்களில் சேமிக்கப்படும்) மீண்டும் குறியாக்கம் செய்வதை உள்ளடக்குகிறது.

மறைகுறியாக்கப்பட்ட டேபிள்ஸ்பேஸின் தலைப்பு எப்படி இருக்கும் என்பதை நினைவுபடுத்துவோம்:

MySQL இல் குறியாக்கம்: முதன்மை விசை சுழற்சி

முந்தைய கட்டுரையில் இருந்து, சர்வர் தொடக்கத்தில் அனைத்து மறைகுறியாக்கப்பட்ட டேபிள்ஸ்பேஸ்களின் தலைப்புகளையும் படிக்கிறது மற்றும் மிகப்பெரிய முக்கிய ஐடியை நினைவில் கொள்கிறது என்பதை நாங்கள் அறிவோம். எடுத்துக்காட்டாக, KEY உடன் மூன்று அட்டவணைகள் இருந்தால்ஐடி = 3 மற்றும் விசையுடன் ஒரு அட்டவணைஐடி = 4, பின்னர் அதிகபட்ச விசை ஐடி 4 ஆக இருக்கும். இந்த KEY ஐடி - MAX KEY ID என்று அழைக்கலாம்.

முதன்மை விசை சுழற்சி எவ்வாறு செயல்படுகிறது

1. பயனர் ALTER INNODB மாஸ்டர் கீயை இயக்குகிறார்.

2. சேவையகம் UUID மற்றும் KEY உடன் புதிய முதன்மை விசையை உருவாக்க கீரிங்கைக் கோருகிறதுஐடி ஒன்று மற்றும் MAXக்கு சமம்முக்கியஐடி. எனவே INNODB க்கு சமமான முதன்மை விசை ஐடியைப் பெறுகிறோம்விசை-UUID-(அதிகபட்சம்முக்கியஐடி + 1). முதன்மை விசையை வெற்றிகரமாக உருவாக்கியதும், MAX KEY ஐடி ஒன்றால் அதிகரிக்கப்படுகிறது (அதாவது MAXமுக்கியஐடி=மேக்ஸ்முக்கியஐடி + 1).

3. சர்வர் முதன்மை விசையுடன் குறியாக்கம் செய்யப்பட்ட அனைத்து டேபிள்ஸ்பேஸ்களையும் ஸ்கேன் செய்கிறது, மேலும் ஒவ்வொரு டேபிள்ஸ்பேஸுக்கும்:

  • புதிய முதன்மை விசையுடன் டேபிள்ஸ்பேஸ் விசையை குறியாக்குகிறது;

  • முக்கிய ஐடியை புதிய MAX க்கு புதுப்பிக்கிறதுமுக்கியஅடையாள அட்டை;

  • UUID சேவையக UUID இலிருந்து வேறுபட்டால், UUID சேவையகத்தைப் புதுப்பிக்கவும்.

எங்களுக்குத் தெரியும், டேபிளை டிக்ரிப்ட் செய்யப் பயன்படுத்தப்படும் முதன்மை விசை ஐடியில் UUID மற்றும் டேபிள்ஸ்பேஸ் ஹெடரில் இருந்து படிக்கப்படும் முக்கிய ஐடி ஆகியவை இருக்கும். நாங்கள் இப்போது செய்து கொண்டிருப்பது டேபிள்ஸ்பேஸ் என்க்ரிப்ஷன் ஹெடரில் இந்தத் தகவலைப் புதுப்பிப்பதால், சர்வர் சரியான முதன்மை விசையைப் பெறுகிறது.

வெவ்வேறு காப்புப்பிரதிகள் போன்ற வெவ்வேறு இடங்களில் டேபிள்ஸ்பேஸ்கள் இருந்தால், அவர்கள் வெவ்வேறு முதன்மை விசைகளைப் பயன்படுத்தலாம். இந்த முதன்மை விசைகள் அனைத்தும் சேவையகம் தொடங்கும் போது களஞ்சியத்திலிருந்து மீட்டெடுக்கப்பட வேண்டும். இது சர்வர் ஸ்டார்ட்அப்பை மெதுவாக்கும், குறிப்பாக சர்வர் பக்க கீ ஸ்டோர் பயன்படுத்தினால். முதன்மை விசை சுழற்சியின் மூலம், அனைத்து டேபிள்ஸ்பேஸ்களுக்கும் ஒரே மாதிரியான ஒற்றை முதன்மை விசையுடன் டேபிள்ஸ்பேஸ் விசைகளை மீண்டும் குறியாக்கம் செய்கிறோம். தொடக்கத்தில் சேவையகம் இப்போது ஒரு முதன்மை விசையை மட்டுமே பெற வேண்டும்.

இது, நிச்சயமாக, ஒரு இனிமையான பக்க விளைவு. முதன்மை விசை சுழற்சியின் முக்கிய நோக்கம் எங்கள் சேவையகத்தை மிகவும் பாதுகாப்பானதாக மாற்றுவதாகும். முதன்மை விசை பெட்டகத்திலிருந்து எப்படியாவது திருடப்பட்டால் (எடுத்துக்காட்டாக, வால்ட் சேவையகத்திலிருந்து), புதிய முதன்மை விசையை உருவாக்கி டேபிள்ஸ்பேஸ் விசைகளை மீண்டும் என்க்ரிப்ட் செய்து, திருடப்பட்ட விசையை செல்லாததாக்க முடியும். நாங்கள் பாதுகாப்பாக இருக்கிறோம்... கிட்டத்தட்ட.

முந்தைய கட்டுரையில், டேபிள் ஸ்பேஸ் கீ திருடப்பட்டால், மூன்றாம் தரப்பினர் அதை எவ்வாறு டேட்டாவை டிக்ரிப்ட் செய்ய பயன்படுத்தலாம் என்பதைப் பற்றி பேசினேன். எங்கள் வட்டுக்கு அணுகல் உள்ளது என்று வழங்கப்படுகிறது. முதன்மை விசை திருடப்பட்டு, மறைகுறியாக்கப்பட்ட தரவுக்கான அணுகல் உங்களிடம் இருந்தால், டேபிள்ஸ்பேஸ் விசையை மறைகுறியாக்க திருடப்பட்ட முதன்மை விசையைப் பயன்படுத்தலாம் மற்றும் மறைகுறியாக்கப்பட்ட தரவைப் பெறலாம். நீங்கள் பார்க்க முடியும் என, முதன்மை விசையின் சுழற்சி இந்த வழக்கில் உதவாது. டேபிள்ஸ்பேஸ் கீயை புதிய முதன்மை விசையுடன் மீண்டும் குறியாக்கம் செய்கிறோம், ஆனால் தரவை என்க்ரிப்ட்/டிக்ரிப்ட் செய்ய பயன்படுத்தப்படும் உண்மையான விசை அப்படியே இருக்கும். எனவே, "ஹேக்கர்" தரவை மறைகுறியாக்க அதை தொடர்ந்து பயன்படுத்தலாம். முன்னதாக நான் அதைக் குறிப்பிட்டேன் MySQL க்கான பெர்கோனா சர்வர் உண்மையான டேபிள்ஸ்பேஸ் மறு-குறியாக்கத்தைச் செய்ய முடியும், எளிய டேபிள்ஸ்பேஸ் விசை மறு-குறியாக்கம் மட்டும் அல்ல. இந்த அம்சம் குறியாக்க நூல்கள் என்று அழைக்கப்படுகிறது. இருப்பினும், இந்த செயல்பாடு தற்போது இன்னும் சோதனைக்குரியது.

முதன்மை விசை திருடப்படும் போது முதன்மை விசை சுழற்சி பயனுள்ளதாக இருக்கும், ஆனால் தாக்குபவர் அதை பயன்படுத்த மற்றும் டேபிள்ஸ்பேஸ் விசைகளை மறைகுறியாக்க எந்த வழியும் இல்லை.

இலவச டெமோ பாடத்திற்கு பதிவு செய்யவும்.

மேலும் படிக்க:

ஆதாரம்: www.habr.com