Fedora 41
Sponsored Link

MariaDB : バックアップ2024/11/11

 
MariaDB のデータベースを バックアップ/リストア する際は付属のツールで実行可能です。
[1] バックアップツールは通常 MariaDB Server と同時にインストールされますが、もしをインストールされていない場合は以下のようにしてインストールします。
[root@www ~]#
dnf -y install mariadb-backup
[2] バックアップを実行します。
例として、[/home/mariadb_backup] ディレクトリ配下にバックアップを取得します。
[root@www ~]#
mkdir /home/mariadb_backup

[root@www ~]#
mariabackup --backup --target-dir /home/mariadb_backup -u root

[00] 2024-11-11 09:35:54 Connecting to MariaDB server host: localhost, user: root, password: not set, port: not set, socket: not set
[00] 2024-11-11 09:35:54 Using server version 10.11.9-MariaDB
mariabackup based on MariaDB server 10.11.9-MariaDB Linux (x86_64)
[00] 2024-11-11 09:35:54 uses posix_fadvise().
[00] 2024-11-11 09:35:54 cd to /var/lib/mysql/
[00] 2024-11-11 09:35:54 Loading encryption plugin
[00] 2024-11-11 09:35:54 open files limit requested 0, set to 1024
[00] 2024-11-11 09:35:54 mariabackup: using the following InnoDB configuration:
[00] 2024-11-11 09:35:54 innodb_data_home_dir =
[00] 2024-11-11 09:35:54 innodb_data_file_path = ibdata1:12M:autoextend
.....
.....
[00] 2024-11-11 09:35:55 Writing backup-my.cnf
[00] 2024-11-11 09:35:55         ...done
[00] 2024-11-11 09:35:55 Writing xtrabackup_info
[00] 2024-11-11 09:35:55         ...done
[00] 2024-11-11 09:35:55 Redo log (from LSN 49855 to 49871) was copied.
[00] 2024-11-11 09:35:55 completed OK!

[root@www ~]#
ll /home/mariadb_backup

total 12744
-rw-r-----. 1 root root   417792 Nov 11 09:35 aria_log.00000001
-rw-r-----. 1 root root       52 Nov 11 09:35 aria_log_control
-rw-r-----. 1 root root      505 Nov 11 09:35 backup-my.cnf
-rw-r-----. 1 root root 12582912 Nov 11 09:35 ibdata1
-rw-r-----. 1 root root    12304 Nov 11 09:35 ib_logfile0
drwx------. 2 root root     4096 Nov 11 09:35 mysql
drwx------. 2 root root       20 Nov 11 09:35 performance_schema
drwx------. 2 root root     8192 Nov 11 09:35 sys
drwx------. 2 root root       64 Nov 11 09:35 test_database
-rw-r-----. 1 root root       97 Nov 11 09:35 xtrabackup_checkpoints
-rw-r-----. 1 root root      432 Nov 11 09:35 xtrabackup_info
[3] バックアップしたデータを、他ホスト上の MariaDB サーバーへリストアします。
事前にバックアップしたデータを [tar] でまとめるなり [rsync] でそのまま転送する等して、バックアップデータをリストア先サーバーに転送しておいてください。
# MariaDB を停止して既存データは削除

[root@node01 ~]#
systemctl stop mariadb

[root@node01 ~]#
rm -rf /var/lib/mysql/*
# 転送したバックアップデータ

[root@node01 ~]#
ll mariadb_backup.tar.gz

-rw-r--r--. 1 root root 691878 Nov 11 09:41 mariadb_backup.tar.gz
[root@node01 ~]#
tar zxvf mariadb_backup.tar.gz

# リストア事前タスク実行 ([completed OK] であれば OK)

[root@node01 ~]#
mariabackup --prepare --target-dir /root/mariadb_backup

mariabackup based on MariaDB server 10.11.9-MariaDB Linux (x86_64)
[00] 2024-11-11 09:42:11 cd to /root/mariadb_backup/
[00] 2024-11-11 09:42:11 open files limit requested 0, set to 1024
[00] 2024-11-11 09:42:11 Loading encryption plugin from provider_bzip2=provider_bzip2;provider_lz4=provider_lz4;provider_lzma=provider_lzma;provider_lzo=provider_lzo;provider_snappy=provider_snappy
[00] 2024-11-11 09:42:11 Loading encryption plugin
[00] 2024-11-11 09:42:11         Encryption plugin parameter :  '--plugin_load=provider_bzip2=provider_bzip2;provider_lz4=provider_lz4;provider_lzma=provider_lzma;provider_lzo=provider_lzo;provider_snappy=provider_snappy'
[00] 2024-11-11 09:42:11         Encryption plugin parameter :  '--innodb_encrypt_tables=OFF'
[00] 2024-11-11 09:42:11         Encryption plugin parameter :  '--prepare'
[00] 2024-11-11 09:42:11         Encryption plugin parameter :  '--target-dir'
[00] 2024-11-11 09:42:11         Encryption plugin parameter :  '/root/mariadb_backup'
[00] 2024-11-11 09:42:11 This target seems to be not prepared yet.
[00] 2024-11-11 09:42:11 mariabackup: using the following InnoDB configuration for recovery:
[00] 2024-11-11 09:42:11 innodb_data_home_dir = .
[00] 2024-11-11 09:42:11 innodb_data_file_path = ibdata1:12M:autoextend
[00] 2024-11-11 09:42:11 innodb_log_group_home_dir = .
[00] 2024-11-11 09:42:11 InnoDB: Using Linux native AIO
[00] 2024-11-11 09:42:11 Starting InnoDB instance for recovery.
[00] 2024-11-11 09:42:11 mariabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
2024-11-11  9:42:11 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
2024-11-11  9:42:11 0 [Note] InnoDB: Number of transaction pools: 1
2024-11-11  9:42:11 0 [Note] InnoDB: Using AVX512 instructions
2024-11-11  9:42:11 0 [Note] InnoDB: Using Linux native AIO
2024-11-11  9:42:11 0 [Note] InnoDB: Initializing buffer pool, total size = 100.000MiB, chunk size = 100.000MiB
2024-11-11  9:42:11 0 [Note] InnoDB: Completed initialization of buffer pool
2024-11-11  9:42:11 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
2024-11-11  9:42:11 0 [Note] InnoDB: End of log at LSN=49871
[00] 2024-11-11 09:42:11 Last binlog file , position 0
[00] 2024-11-11 09:42:11 completed OK!

# リストア実行

[root@node01 ~]#
mariabackup --copy-back --target-dir /root/mariadb_backup

mariabackup based on MariaDB server 10.11.9-MariaDB Linux (x86_64)
[01] 2024-11-11 09:44:12 Copying ./aria_log_control to /var/lib/mysql/aria_log_control
[01] 2024-11-11 09:44:12         ...done
[01] 2024-11-11 09:44:12 Copying ./aria_log.00000001 to /var/lib/mysql/aria_log.00000001
[01] 2024-11-11 09:44:12         ...done
[01] 2024-11-11 09:44:12 Copying ib_logfile0 to /var/lib/mysql/ib_logfile0
[01] 2024-11-11 09:44:12         ...done
[01] 2024-11-11 09:44:12 Copying ibdata1 to /var/lib/mysql/./ibdata1
[01] 2024-11-11 09:44:12         ...done
.....
.....
[01] 2024-11-11 09:44:12 Copying ./xtrabackup_info to /var/lib/mysql/xtrabackup_info
[01] 2024-11-11 09:44:12         ...done
[01] 2024-11-11 09:44:12 Copying ./xtrabackup_binlog_pos_innodb to /var/lib/mysql/xtrabackup_binlog_pos_innodb
[01] 2024-11-11 09:44:12         ...done
[00] 2024-11-11 09:44:12 completed OK!

[root@node01 ~]#
chown -R mysql:mysql /var/lib/mysql

[root@node01 ~]#
systemctl start mariadb

関連コンテンツ