XtraBackup උපයෝගීතාව භාවිතයෙන් MySQL උපස්ථයක් නිර්මාණය කිරීම

Percona XtraBackup උණුසුම් දත්ත සමුදා උපස්ථ සඳහා උපයෝගීතාවයකි MySQL.

දත්ත උපස්ථයක් සාදන විට, වගු කිසිවක් අගුළු දමා නැති අතර, ඔබේ පද්ධතිය කිසිදු සීමාවකින් තොරව දිගටම ක්‍රියාත්මක වේ.

XtraBackup 2.4 වගු වල උපස්ථ පිටපත් සෑදිය හැක InnoDBXtraDB и මයිසම් සේවාදායකයන් මත MySQL 5.11, 5.5, 5.6 සහ 5.7, සහ සේවාදායකයේ ද පර්කෝනා සඳහා MySQL с XtraDB.

සමඟ වැඩ කිරීමට MySQL 8.x. අනුවාදය භාවිතා කළ යුතුය XtraBackup 8.x. මෙම ලිපියෙන් පමණක් කතා කරනු ඇත XtraBackup 2.4.

ප්රධාන වාසිය XtraBackup මෙම උපයෝගීතාව අධික ලෙස පටවන ලද උපස්ථ පිටපත් නිර්මාණය කිරීම සඳහා සුදුසුද යන්නයි සේවාදායකයන්, මෙන්ම අඩු ගනුදෙනු සංඛ්‍යාවක් ඇති පද්ධති සඳහා.

ඔබගේ MySQL දත්ත සමුදායේ සම්පූර්ණ ප්‍රමාණය සැලකිය යුතු නම් (ගිගාබයිට් දහයක්), එවිට සම්මත උපයෝගීතාව mysqldump ඔබට ඉක්මනින් උපස්ථ පිටපතක් සෑදීමට ඉඩ නොදෙන අතර ඩම්ප් ප්‍රතිසාධනය කිරීමට බොහෝ කාලයක් ගතවනු ඇත.

ස්ථාපනය

ස්ථාපනය XtraBackup ගබඩාවෙන් ඇප් පර්කෝනා.

පහත විධාන අනුපිළිවෙලින් ක්‍රියාත්මක කරන්න:

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: හඳුනාගත් සේවාදායක තර්ක: - datadir=/var/lib/mysql - tmpdir=/tmp - server-id=1 - logbin=/var/log/mysql/mysql-bin.log - innodbbufferpoolsize=16384M - innodbfilepertable=1 - innodbflushmethod=Odirect - innodbflushlogattrxcommit=0xtrabackup අනුවාදය 2.4.20 MySQL සේවාදායකය 5.7.26 මත පදනම් වේ Linux (x8664) (සංශෝධන හැඳුනුම්පත: c8b4056)

XtraBackup උපයෝගීතාව භාවිතයෙන් MySQL උපස්ථයක් නිර්මාණය කිරීම

ප්‍රවේශ හිමිකම්, අවසර සහ වරප්‍රසාද 

XtraBackup හට හැකි විය යුත්තේ:

  • ඔබගේ MySQL සේවාදායකයට සම්බන්ධ වන්න.

  • නාමාවලියට ප්‍රවේශ අයිතිය ඇත දත්ත වේ

  • උපස්ථ පිටපතක් නිර්මාණය කිරීමේදී, නිශ්චිත පරාමිතිය සඳහා ලිවීමේ අයිතිය ඇත ඉලක්කය-dir නාමාවලිය.

Datadir යනු කුමක්ද?

දත්ත වේ දත්ත සමුදා සේවාදායකය ඇති නාමාවලිය වේ MySQL දත්ත ගබඩා කරයි. සියලුම දත්ත සමුදායන්, සියලුම වගු එහි පිහිටා ඇත. බොහෝ බෙදාහැරීම් වල Linux පෙරනිමියෙන්, මෙම නාමාවලිය /var/lib/mysql.

Target-dir නාමාවලිය යනු කුමක්ද?

ඉලක්කය-dir - උපස්ථය සුරැකෙන නාමාවලිය මෙයයි.

දත්ත සමුදා පරිශීලකයාට උපස්ථ කිරීමට වගු සහ දත්ත සමුදායන් වෙත පහත ප්‍රවේශ හිමිකම් අවශ්‍ය වේ:

  • මේස නැවත පූරණය කර අගුළු දමන්න

  • අනුවර්තන සේවාලාභියා

  • මේස අවකාශය සාදන්න

  • ෙපොෙසසර්

  • සුපර්

  • නිර්මාණය

  • ඇතුල් කරන්න

  • තෝරන්න

වින්‍යාසය 

වින්‍යාසය XtraBackup සම්මත MySQL විකල්ප ලෙස හැසිරෙන විකල්ප භාවිතා කර සිදු කර ඇත.

මෙයින් අදහස් කරන්නේ කුමක්ද?

වින්‍යාස පරාමිති විධාන රේඛාවේ හෝ DBMS වින්‍යාස ගොනුවේ සඳහන් කළ හැක, උදාහරණයක් ලෙස /etc/my.cnf.

XtraBackup උපයෝගීතාව දියත් කිරීමෙන් පසු කොටස් කියවයි [mysqld] и [xtrabackup] MySQL වින්‍යාස ගොනු වලින්. මෙය සිදු කරනුයේ උපයෝගිතා එක් එක් උපස්ථය තුළදී පරාමිති අතින් නියම කිරීමකින් තොරව ඔබගේ DBMS හි සැකසුම් භාවිතා කළ හැකි වන පරිදි ය.

උදාහරණයක් ලෙස, වටිනාකම දත්ත වේ සහ සමහර පරාමිතීන් InnoDB අපි ඔබේ DBMS හි වින්‍යාසයෙන් XtraBackup ලබා ගනිමු.

XtraBackup ක්‍රියා කිරීමට නම්, ඔබට කොටසේ ඇති පරාමිතීන් ප්‍රතික්ෂේප කිරීමට අවශ්‍ය වේ [mysqld], ඉන්පසු ඒවා කොටසේ වින්‍යාස ගොනුවේ සඳහන් කරන්න [xtrabackup]. ඒවා පසුව කියවනු ලබන බැවින්, ඔවුන්ගේ ප්රමුඛතාවය වැඩි වනු ඇත.

ඔබට කිසිදු පරාමිතියක් එක් කිරීමට අවශ්‍ය නැත my.cnf. අවශ්ය සියලු පරාමිතීන් විධාන රේඛාවේ සඳහන් කළ හැක. සාමාන්යයෙන් කොටසෙහි පහසුවෙන් තැබිය හැකි එකම දෙය [xtrabackup] ඔබේ my.cnf පාරමිතාවකි ඉලක්කය_dir, එය පෙරනිමියෙන් උපස්ථ තබන නාමාවලිය සඳහන් කරයි. නමුත් මෙය විකල්ප වේ.

උපස්ථ පිටපතක් සමඟ ඩිරෙක්ටරියට යන මාර්ගය සඳහන් කිරීමේ උදාහරණයක් 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.

ඉන්පසුව, උපයෝගීතාව භාවිතා කිරීම XtraBackup උපස්ථ පිටපතක් සාදා එය සුරකින්න /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

උපස්ථයක් ප්‍රතිසාධනය කිරීම 

ඔබට ඉලක්ක සේවාදායකයට උපස්ථයක් ප්‍රතිසාධනය කිරීමට පෙර, දත්ත සූදානම් කිරීමේ අදියරක් හරහා යා යුතුය. මෙය කරන්නේ කෙසේදැයි ඉහත බලන්න.

දත්ත ප්රතිසාධන ක්රියාවලිය ඉතා සරල ය. ඔබට සංරක්ෂිතයෙන් උපස්ථය උකහා ගෙන දත්ත ප්‍රතිස්ථාපනය කිරීමට අවශ්‍ය වේ දත්ත වේ.

datadir හි දත්ත ප්‍රතිස්ථාපනය කරන්නේ කෙසේද?

අපි විකල්ප දෙකක් සලකා බලමු.

විකල්ප 1

උපයෝගීතාව භාවිතා කරන්න XtraBackup. ඔබට විකල්පයක් සඳහන් කිරීමට අවශ්ය වේ --පිටපත්-ආපසු

පහත විධානය උපස්ථය මාරු කරනු ඇත දත්ත වේ ඉලක්ක සේවාදායකය:

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

විකල්ප 2

ඔබට එය වෙනස් ආකාරයකින් කළ හැකිය, උපයෝගීතාවයෙන් තොරව කරන්න XtraBackup.

ඔබ කළ යුත්තේ උපස්ථය පිටපත් කිරීම පමණි දත්ත වේ. ඔබට මෙය කළ හැකිය cp හෝ rsync.

උපස්ථයක් ප්‍රතිස්ථාපනය කිරීමේ ක්‍රියා පටිපාටිය නාමාවලියේ අන්තර්ගතය ප්‍රතිස්ථාපනය කිරීම දක්වා අඩු වන බව තේරුම් ගැනීම වැදගත්ය. දත්ත වේ.

ඔබ ඉලක්ක සේවාදායකයේ උපස්ථයක් ප්‍රතිස්ථාපනය කිරීමට පෙර, ඔබ කළ යුත්තේ:

  • MySQL සේවාදායකය නවත්වන්න.

  • ෆෝල්ඩරය හිස් කරන්න දත්ත වේ නැතහොත් එහි අන්තර්ගතය වෙනත් ස්ථානයකට ගෙන යන්න. නාමාවලිය දත්ත වේ හිස් විය යුතුය.

වෙත දත්ත හුවමාරුව සම්පූර්ණ කිරීමෙන් පසු දත්ත වේ MySQL සේවාදායකය ආරම්භ කළ හැක.

භාවිතා කළ උපකරණ

නිල ලියකියවිලි පර්කෝනා XtraBackup.

මූලාශ්රය: www.habr.com

DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත අඩවි සඳහා විශ්වාසදායක සත්කාරකත්වය මිලදී ගන්න 🔥 DDoS ආරක්ෂාව, VPS VDS සේවාදායකයන් සහිත විශ්වාසදායක වෙබ් අඩවි සත්කාරකත්වය මිලදී ගන්න | ProHoster