XtraBackup பயன்பாட்டைப் பயன்படுத்தி MySQL காப்புப்பிரதியை உருவாக்குதல்

பெர்கோனா எக்ஸ்ட்ரா பேக்கப் சூடான தரவுத்தள காப்புப்பிரதிகளுக்கான பயன்பாடாகும் MySQL,.

தரவு காப்புப்பிரதியை உருவாக்கும் போது, ​​எந்த அட்டவணையும் பூட்டப்படவில்லை, மேலும் உங்கள் கணினி எந்த கட்டுப்பாடுகளும் இல்லாமல் தொடர்ந்து இயங்கும்.

எக்ஸ்ட்ரா பேக்கப் 2.4 அட்டவணைகளின் காப்பு பிரதிகளை உருவாக்க முடியும் InnoDB என்றஎக்ஸ்ட்ராடிபி и மைசாம் சேவையகங்களில் MySQL 5.11, 5.5, 5.6 மற்றும் 5.7, மற்றும் சர்வரிலும் பெர்கோனா செய்ய MySQL, с எக்ஸ்ட்ராடிபி.

உடன் வேலை செய்ய MySQL 8.x பதிப்பு பயன்படுத்தப்பட வேண்டும் XtraBackup 8.x. பற்றி மட்டுமே இந்த கட்டுரை பேசும் XtraBackup 2.4.

முக்கிய நன்மை எக்ஸ்ட்ரா பேக்கப் இந்த பயன்பாடு அதிகமாக ஏற்றப்பட்ட கோப்புகளின் காப்பு பிரதிகளை உருவாக்க ஏற்றது. சேவையகங்கள், அதே போல் குறைந்த எண்ணிக்கையிலான பரிவர்த்தனைகளைக் கொண்ட அமைப்புகளுக்கும்.

உங்கள் MySQL தரவுத்தளங்களின் மொத்த அளவு குறிப்பிடத்தக்கதாக இருந்தால் (பல்லாயிரக்கணக்கான ஜிகாபைட்கள்), பின்னர் நிலையான பயன்பாடு mysqldump காப்பு பிரதியை விரைவாக உருவாக்க உங்களை அனுமதிக்காது, மேலும் டம்பை மீட்டமைக்க நிறைய நேரம் எடுக்கும்.

நிறுவல்

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

பின்வரும் கட்டளைகளை தொடர்ச்சியாக இயக்கவும்:

wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb

sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb

sudo apt-get update 

sudo apt-get install percona-xtrabackup-24

2. நிறுவிய பின், கட்டளையை இயக்கவும் xtrabackup -v. ஏனெனில், சேவையகத்தில் பயன்பாடு சரியாக வேலை செய்கிறது என்பதை உறுதிப்படுத்துவது முக்கியம். இதன் விளைவாக, இது போன்ற ஒன்று திரையில் காட்டப்படும்:

xtrabackup: recognized server arguments: — datadir=/var/lib/mysql — tmpdir=/tmp — server-id=1 — logbin=/var/log/mysql/mysql-bin.log — innodbbufferpoolsize=16384M — innodbfilepertable=1 — innodbflushmethod=Odirect — innodbflushlogattrxcommit=0xtrabackup version 2.4.20 based on MySQL server 5.7.26 Linux (x8664) (revision id: c8b4056)

XtraBackup பயன்பாட்டைப் பயன்படுத்தி MySQL காப்புப்பிரதியை உருவாக்குதல்

அணுகல் உரிமைகள், அனுமதிகள் மற்றும் சலுகைகள் 

XtraBackup செய்யக்கூடியது:

  • உங்கள் MySQL சேவையகத்துடன் இணைக்கவும்.

  • கோப்பகத்திற்கான அணுகல் உரிமைகள் உள்ளன டேட்டாடிர்

  • காப்பு பிரதியை உருவாக்கும் போது, ​​குறிப்பிட்ட அளவுருவிற்கு எழுதும் உரிமைகள் உள்ளன இலக்கு-இயக்குனர் அட்டவணை.

டேட்டாடிர் என்றால் என்ன?

டேட்டாடிர் தரவுத்தள சேவையகம் இருக்கும் அடைவு ஆகும் MySQL, хранит данные. Все базы данных, все таблицы находятся там. В большинстве дистрибутивов Linux по умолчанию таким каталогом является /var/lib/mysql.

இலக்கு-டிர் அடைவு என்றால் என்ன?

இலக்கு-இயக்குனர் - இது காப்புப்பிரதி சேமிக்கப்படும் கோப்பகம்.

தரவுத்தள பயனருக்கு டேபிள்கள் மற்றும் தரவுத்தளங்களை காப்புப் பிரதி எடுக்க பின்வரும் அணுகல் உரிமைகள் தேவை:

  • அட்டவணைகளை மீண்டும் ஏற்றவும் மற்றும் பூட்டவும்

  • பிரதி கிளையன்ட்

  • டேபிள்ஸ்பேஸை உருவாக்கவும்

  • செயல்பாட்டின்

  • சூப்பர்

  • CREATE

  • செருகு

  • தேர்வு

கட்டமைப்பு 

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

இது என்ன அர்த்தம்?

உள்ளமைவு அளவுருக்கள் கட்டளை வரியில் அல்லது DBMS உள்ளமைவு கோப்பில் குறிப்பிடப்படலாம், எடுத்துக்காட்டாக /etc/my.cnf.

XtraBackup பயன்பாடு துவக்கத்திற்குப் பிறகு பகிர்வுகளைப் படிக்கிறது [Mysqld] и [எக்ஸ்ட்ராபேக்அப்] MySQL உள்ளமைவு கோப்புகளிலிருந்து. ஒவ்வொரு காப்புப்பிரதியின்போதும் அளவுருக்களை கைமுறையாகக் குறிப்பிடாமல், உங்கள் DBMS இன் அமைப்புகளை பயன்பாடு பயன்படுத்தும் வகையில் இது செய்யப்படுகிறது.

உதாரணமாக, மதிப்பு டேட்டாடிர் மற்றும் சில அளவுருக்கள் InnoDB என்ற உங்கள் DBMS இன் உள்ளமைவிலிருந்து XtraBackup ஐப் பெறுகிறோம்.

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

நீங்கள் எந்த அளவுருக்களையும் சேர்க்க வேண்டியதில்லை my.cnf. தேவையான அனைத்து அளவுருக்களையும் கட்டளை வரியில் குறிப்பிடலாம். பொதுவாக பிரிவில் வசதியாக வைக்கக்கூடிய ஒரே விஷயம் [எக்ஸ்ட்ராபேக்அப்] உங்கள் my.cnf ஒரு அளவுரு ஆகும் இலக்கு_இயக்குனர், இது முன்னிருப்பாக காப்புப்பிரதிகள் வைக்கப்படும் கோப்பகத்தைக் குறிப்பிடுகிறது. ஆனால் இது விருப்பமானது.

காப்பு பிரதியுடன் கோப்பகத்திற்கான பாதையைக் குறிப்பிடுவதற்கான எடுத்துக்காட்டு my.cnf:

[xtrabackup]
target_dir = /data/backups/mysql/

காப்பு ஸ்கிரிப்ட்

காப்புப்பிரதியை உருவாக்க பின்வரும் ஸ்கிரிப்டைப் பயன்படுத்தலாம்:

#!/bin/bash

# Удаляем данные в каталоге бекапа
rm -rf /mysql/backup

# Cоздаём бекап
xtrabackup --user=xtrabackup 
 --password=xxxx_SECRET_xxxx 
 --backup 
 --target-dir=/mysql/backup

# Выполняем подготовку бекапа для развёртывания
xtrabackup --prepare --target-dir=/mysql/backup

# Создаём архив
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-"$(date +%F-%H:%M:%S)".gz /mysql/backup

ஸ்கிரிப்ட் செயல்படுத்தும் போது என்ன நடக்கும்?

முதலில், காப்புப் பிரதியை சேமிக்கும் கோப்பகத்தை அழிக்கிறோம் (நீக்குகிறோம்):

rm -rf /mysql/backup.

பின்னர், பயன்பாட்டைப் பயன்படுத்துதல் எக்ஸ்ட்ரா பேக்கப் காப்புப் பிரதியை உருவாக்கி அதில் சேமிக்கவும் /mysql/backup/:

xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backup

முன்பு, நாங்கள் MySQL இல் ஒரு பயனரை உருவாக்கினோம் xtrabackup தேவையான சலுகைகளுடன். அளவுருவைப் பயன்படுத்துதல் target-dir காப்புப்பிரதி சேமிக்கப்பட வேண்டிய கோப்பகத்தை நாங்கள் குறிப்பிடுகிறோம்.

ஒரு முக்கியமான விஷயம்!

ஸ்கிரிப்ட் வரியைக் கவனியுங்கள்:

xtrabackup --prepare --target-dir=/mysql/backup

பட்டியல் தரவு /mysql/backup அவை சமைக்கப்படும் வரை சீராக இருக்காது. 

உண்மை என்னவென்றால், கோப்புகளை நகலெடுக்கும்போது மாற்றங்கள் ஏற்படலாம். ஆபரேஷன் xtrabackup --prepare --target-dir=/mysql/backup காப்புப் பிரதி தரவை காலப்போக்கில் முற்றிலும் சீரானதாக மாற்றுகிறது.

நீங்கள் எந்த கணினியிலும் தரவு தயாரிப்பு செயல்பாட்டைச் செய்யலாம். மூல DBMS அமைந்துள்ள சர்வரில் இதைச் செய்ய வேண்டிய அவசியமில்லை. நீங்கள் காப்புப்பிரதியை இலக்கு சேவையகத்திற்கு நகலெடுத்து அங்கேயே தயார் செய்யலாம்.

நாங்கள் செய்யும் கடைசி விஷயம் ஒரு காப்பகத்தை உருவாக்குவது, அதில் எங்கள் காப்புப்பிரதியை வைக்கிறோம்:

tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-«$(date % F% H% M% S)».gz /mysql/backup

காப்புப்பிரதியை மீட்டமைக்கிறது 

இலக்கு சேவையகத்திற்கு காப்புப்பிரதியை மீட்டெடுப்பதற்கு முன், தரவு ஒரு தயாரிப்பு கட்டத்தில் செல்ல வேண்டும். இதை எப்படி செய்வது என்று மேலே பார்க்கவும்.

தரவு மீட்பு செயல்முறை மிகவும் எளிது. காப்பகத்திலிருந்து காப்புப்பிரதியைப் பிரித்தெடுத்து, தரவை மாற்ற வேண்டும் டேட்டாடிர்.

டேட்டாடிரில் தரவை எவ்வாறு மாற்றுவது?

இரண்டு விருப்பங்களைக் கருத்தில் கொள்வோம்.

விருப்பம் 1

பயன்பாட்டைப் பயன்படுத்தவும் எக்ஸ்ட்ரா பேக்கப். நீங்கள் ஒரு விருப்பத்தை குறிப்பிட வேண்டும் --நகல்-மீண்டும்

கீழே உள்ள கட்டளை காப்புப்பிரதியை மாற்றும் டேட்டாடிர் இலக்கு சேவையகம்:

xtrabackup --copy-back --target-dir=/mysql/backup

விருப்பம் 2

நீங்கள் அதை வித்தியாசமாக செய்யலாம், பயன்பாடு இல்லாமல் செய்யலாம் எக்ஸ்ட்ரா பேக்கப்.

நீங்கள் செய்ய வேண்டியது காப்புப்பிரதியை நகலெடுக்க வேண்டும் டேட்டாடிர். இதை நீங்கள் செய்யலாம் cp அல்லது rsync.

காப்புப்பிரதியை மீட்டெடுப்பதற்கான செயல்முறையானது கோப்பகத்தின் உள்ளடக்கங்களை மாற்றுவதைப் புரிந்துகொள்வது அவசியம். டேட்டாடிர்.

இலக்கு சேவையகத்தில் காப்புப்பிரதியை மீட்டமைக்கத் தொடங்குவதற்கு முன், நீங்கள் கண்டிப்பாக:

  • MySQL சேவையகத்தை நிறுத்து.

  • கோப்புறையை அழிக்கவும் டேட்டாடிர் அல்லது அதன் உள்ளடக்கங்களை வேறொரு இடத்திற்கு நகர்த்தவும். அட்டவணை டேட்டாடிர் காலியாக இருக்க வேண்டும்.

தரவு பரிமாற்றத்தை முடித்த பிறகு டேட்டாடிர் MySQL சேவையகத்தைத் தொடங்கலாம்.

பயன்படுத்தப்படும் பொருட்கள்

அதிகாரப்பூர்வ ஆவணங்கள் பெர்கோனா எக்ஸ்ட்ரா பேக்கப்.

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

DDoS பாதுகாப்பு, VPS VDS சர்வர்கள் கொண்ட தளங்களுக்கு நம்பகமான ஹோஸ்டிங் வாங்கவும் 🔥 DDoS பாதுகாப்புடன் கூடிய நம்பகமான இணையதள ஹோஸ்டிங், VPS, VDS சர்வர்களை வாங்குங்கள் | ProHoster