Percona XtraBackup

Көбіміз базаны бэкап жасағанда стандарт құралдармен ғана шектеліп қоямыз. Мысалы:

mysqldump --database mydb --user root --password root > mydb.sql

Бұл әдіс локалхостта проект жасап жатқанда қолайлы болуы мүмкін. Бірақ неғұрлым база үлкейген сайын, дамптың басқа әдістерін іздей бастаймыз. Мысалы салмағы 10Гб тан асатын базаданы дамп жасау 4-5 сагат алуы мүмкін.

Percona XtraBackup – осы сұрақты шешуге арналған құрал.MySQL, MariaDB, Percona секілді жүйелерді бэкап жасай алады. Xtrabackup тың ең басты атқаратын қызметі:
  • Тез бэкап жасау
  • Үздіксіз транзакциялар
  • Дисктегі бос орын
Сонымен қоса инкременталды түрде бэкап жасай алады.

Жүйеге орнату

Мына сайттан өзіңізге қолайлы форматтағы жиынтықты қондырыңыз:
http://www.percona.com/software/percona-xtrabackup

Бізде Debian болғандықтан мына версияны қондырамыз:
wget http://www.percona.com/redir/downloads/XtraBackup/LATEST/deb/wheezy/x86_64/percona-xtrabackup_2.1.6-702-1.wheezy_amd64.deb
dpkg -i  percona-xtrabackup_2.1.6-702-1.wheezy_amd64.deb

Бэкап кезінде mysql сервері жұмыс жасап тұру керек. Толық бэкап жасау:

root@server:~/dump# innobackupex --user=root --password=root /some/dir/


Енді бэкаптың аяқталуын күтеміз:

131226 06:13:36  innobackupex: Starting ibbackup with command: xtrabackup_55  --defaults-group="mysqld" --backup 
….
….
….
131226 06:19:25  innobackupex: completed OK!

Көрсетілген жерде сол датамен белгіленген папка

root@server:~/dump# ls -lh 2013-12-26_06-13-36/
итого 26G
-rw-r--r-- 1 root root  260 Дек 26 06:13 backup-my.cnf
-rw-r----- 1 root root  26G Дек 26 06:19 ibdata1
drwxr-xr-x 2 root root 4,0K Дек 26 06:19 mysql
drwxr-xr-x 2 root root 4,0K Дек 26 06:19 performance_schema
-rw-r--r-- 1 root root   13 Дек 26 06:19 xtrabackup_binary
-rw-r----- 1 root root   97 Дек 26 06:19 xtrabackup_checkpoints
-rw-r----- 1 root root 2,5K Дек 26 06:19 xtrabackup_logfile

Жоғарыда көрсетілгендей 26 Гб салмақты база 6 минуттан аз уакытта көшіріліп бітті. Бұл өте жақсы көрсеткіш. Біздің бэкап дайын, алыс бір жерге сақтап қойсақ болады.

Бірақ әлі қолдануға жарамсыз. Бэкапты қолдану үшін әзірлеп алу керек:

innobackupex --apply-log /path/to/BACKUP-DIR

Енді айтылған жердегі файлдарды /var/lib/mysql папкасына көшіріп, mysql серверін өшіріп қосуға болады.

Жоғарыда көрсетілген ең қарапайым қолдану әдісі. xtrabackup құралы туралы толық мәліметті сайттан көруге болады. Қолданудан бұрын құжатпен жақсылап танысып алыңыз.

9 пікір

avatar
Өте пайдалы материал, Рахмет!)
avatar
Өте пайдалы ақпарат екен. Мен алдын SypexDumper қолданатын едім. Кейін СЖ-ның базасы 1.2 Гб болып жазбалар саны 8-9 миллион болғанда SypexDumper жайына қалады екен.
Амалсыз SSH көшуге тура келді. Осы кезде:
$ mysql -uusername -p DATA-BASE-NAME 

рахатын осы кезде көрдім. Аса жылдам болмауы мүмкін, бірақ қазіргі таңда қажеттілігімді атқарып тұр.
Ал база данныхтың бакапын менде ISPManager-дің бакап алу жүйесі алып тұрады. Оны күн ара ноутбугіме жүктеп алып отырамын. Импорттағанда жоғарыдағы команданы қолданамын.

Рахмет. Өте пайдалы жазба екен. Қазіргі кезде қолданып жүрген VPS-серверім осы Debian6 және графикалық басқару панельі ISPManager. Осы амалдарды қолданып көрейін, нәтижесін кейін жаза жатармын.
avatar
хм, 6 минут, 4-5 Гб данныйларды виртуалкаға 1 сағаттай құйғаным есіме түсіп жатыр ))
avatar
Тағы 4-5 Гб емес, 25 Гб 6 минутта дегенді ойлап отырмын O_o деп :))
avatar
backup-тын жылдам болуы MySQL дын баптауларына және сервердің характеристикасынада тікелей байланысты
avatar
Бұл SypexDumper сияқты бір бәле ме?
avatar
Дамп .sql форматта сакталмайды. Тек файлдар куйінде
avatar
Пайдалы ақпарат, Percona Server жайлы ақпарат жазсаң өте дұрыс болар еді, орнату, баптаулар, артықшылықтары, mysql мен салыстырмалы түрде
  • rafa
  • +1
avatar
Жақын арада жазуға тырысамын. MariaDB туралы мақала жазсам ба деген ой бар
Тек тіркелген қолданушылар ғана пікір қалдыра алады.