Percona XtraBackup ысык маалыматтар базасын резервдик көчүрүү үчүн пайдалуу болуп саналат MySQL.
Маалыматтын камдык көчүрмөсүн түзүүдө эч бир таблица кулпуланбайт жана сиздин тутумуңуз эч кандай чектөөсүз иштей берет.
XtraBackup 2.4 таблицалардын резервдик көчүрмөлөрүн түзө алат InnoDB, XtraDB и MyISAM серверлерде MySQL 5.11, 5.5, 5.6 жана 5.7, ошондой эле серверде percona үчүн MySQL с XtraDB.
менен иштөө MySQL 8.x версиясын колдонуу керек XtraBackup 8.x. Бул макалада гана сөз болот XtraBackup 2.4.
Негизги артыкчылыгы XtraBackup бул утилита өтө жүктөлүүчү файлдардын камдык көчүрмөлөрүн түзүүгө ылайыктуубу? серверлер, ошондой эле транзакциялардын саны аз болгон системалар үчүн.
Эгер MySQL маалымат базаларыңыздын жалпы көлөмү олуттуу болсо (ондогон гигабайттар), анда стандарттык утилита mysqldump тез камдык көчүрмөнү түзүүгө мүмкүндүк бербейт жана таштандыны калыбына келтирүү көп убакытты талап кылат.
жөндөө
жөндөө XtraBackup репозиторийден ап Percona.
Төмөнкү буйрукту аткарыңыз:
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-242. Орнотуудан кийин, буйрукту иштетиңиз 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 сервериңизге туташыңыз.
каталогго кирүү укуктары бар маалыматтар болуп саналат.
Камдык көчүрмөнү түзүүдө көрсөтүлгөн параметрге жазуу укуктарына ээ болуңуз максат-дир каталог.
datadir деген эмне?
маалыматтар болуп саналат маалымат базасы сервери жайгашкан каталог болуп саналат MySQL маалыматтарды сактайт. Бардык маалымат базалары, бардык таблицалар ошол жерде жайгашкан. Көпчүлүк дистрибуцияларда Linux Демейки шартта, бул каталог /var/lib/mysql.
Максаттуу каталог деген эмне?
максат-дир - Бул резервдик көчүрмө сактала турган каталог.
Маалыматтар базасынын колдонуучусуна резервдик көчүрмөлөө үчүн таблицаларга жана маалымат базаларына төмөнкү кирүү укуктары керек:
ТАБЛИЦАЛАРДЫ КАЙРА ЖҮКТӨӨ ЖАНА БУЛПОО
РЕПЛИКАЦИЯЛЫК КЛИЕНТ
TABLESPACE ТҮЗҮҮ
PROCESS
SUPER
ТҮЗҮҮ
ЖАЗУУ
SELECT
тарам
тарам XtraBackup стандарттык MySQL параметрлери сыяктуу иш-аракет кылган опцияларды колдонуу менен жасалды.
Бул эмнени билдирет?
Конфигурация параметрлери буйрук сабында же DBMS конфигурация файлында көрсөтүлүшү мүмкүн, мисалы /etc/my.cnf.
XtraBackup утилитасы ишке киргенден кийин бөлүмдөрдү окуйт [Mysqld] и [xtrabackup] MySQL конфигурация файлдарынан. Бул утилита ар бир резервдик көчүрүү учурунда параметрлерди кол менен көрсөтпөстөн, DBMS орнотууларын колдоно алышы үчүн жасалат.
Мисалы, наркы маалыматтар болуп саналат жана кээ бир параметрлер InnoDB Биз сиздин DBMS конфигурациясынан XtraBackup алабыз.
XtraBackup иштеши үчүн, бөлүмдөгү параметрлерди жокко чыгаргыңыз келет [Mysqld], анан жөн гана бөлүмдөгү конфигурация файлында аларды көрсөтүңүз [xtrabackup]. Алар кийинчерээк окула тургандыктан, алардын артыкчылыктары жогору болот.
Сизге эч кандай параметр кошуунун кереги жок my.cnf. Бардык керектүү параметрлер буйрук сабында көрсөтүлүшү мүмкүн. Көбүнчө бөлүмгө ыңгайлуу жайгаштырылган жалгыз нерсе [xtrabackup] сенин my.cnf параметр болуп саналат target_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 серверин баштоого болот.
материалдар колдонулат
.
Source: www.habr.com
