XtraBackupユーティリティを使用したMySQLバックアップの作成

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以降を この記事では、XtraBackup2.4についてのみ説明します 

XtraBackupの主な利点  は、このユーティリティが、負荷の高いサーバーとトランザクション数の少ないシステムの両方のバックアップに適していることです。

MySQLデータベースの合計サイズが大きい場合(数十ギガバイト)、標準のmysqldumpユーティリティで  はバックアップをすばやく作成できず、ダンプの復元に長い時間がかかります。

インストール

インストール XtraBackupを からaptの 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-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.

  •  datadir

  •  target-dir .

datadir?

datadir — ,  MySQL  . , . Linux  /var/lib/mysql.

target-dir ?

target-dir — , .

, :

  • RELOAD LOCK TABLES

  • REPLICATION CLIENT

  • CREATE TABLESPACE

  • PROCESS

  • SUPER

  • CREATE

  • INSERT

  • SELECT

 

XtraBackup , , MySQL.

?

, ,  /etc/my.cnf.

XtraBackup  [mysqld]  [xtrabackup]  MySQL. , .

,  datadir   InnoDB 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 .

. , . .

, — , :

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

 

. .

.  datadir.

datadir?

.

1

 XtraBackup.  --copy-bak

 datadir  :

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

2

,  XtraBackup.

, —  datadir.  cp  rsync.

,  datadir.

, :

  • MySQL .

  • datadirフォルダーを空にする  か、その内容を別の場所に移動します。datadirディレクトリ  は空である必要があります。

データがdatadirに転送さ れると、  MySQLサーバーを起動できます。

使用した材料

公式ドキュメントPercona XtraBackup




All Articles