Debian 13 trixie

MariaDB 11.8 : バックアップ2025/09/11

 

MariaDB のデータベースを バックアップ/リストア する際は付属のツールで実行可能です。

[1] バックアップツールをインストールします。
root@www:~#
apt -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] 2025-09-11 08:47:29 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
[00] 2025-09-11 08:47:29 Finishing BACKUP STAGE BLOCK_COMMIT
[00] 2025-09-11 08:47:29 Starting BACKUP STAGE END
[00] 2025-09-11 08:47:29 Executing BACKUP STAGE END
[00] 2025-09-11 08:47:29 All tables unlocked
[00] 2025-09-11 08:47:29 Backup created in directory '/home/mariadb_backup/'
[00] 2025-09-11 08:47:29 Writing backup-my.cnf
[00] 2025-09-11 08:47:29         ...done
[00] 2025-09-11 08:47:29 Writing mariadb_backup_info
[00] 2025-09-11 08:47:29         ...done
[00] 2025-09-11 08:47:29 Redo log (from LSN 50602 to 50618) was copied.
[00] 2025-09-11 08:47:29 completed OK!

root@www:~#
ll /home/mariadb_backup

total 43472
-rw-r----- 1 root root   417792 Sep 11 08:47 aria_log.00000001
-rw-r----- 1 root root       52 Sep 11 08:47 aria_log_control
-rw-r----- 1 root root      501 Sep 11 08:47 backup-my.cnf
-rw-r----- 1 root root 12582912 Sep 11 08:47 ibdata1
-rw-r----- 1 root root    12304 Sep 11 08:47 ib_logfile0
-rw-r----- 1 root root       97 Sep 11 08:47 mariadb_backup_checkpoints
-rw-r----- 1 root root      451 Sep 11 08:47 mariadb_backup_info
drwx------ 2 root root     4096 Sep 11 08:47 mysql
drwx------ 2 root root     4096 Sep 11 08:47 performance_schema
drwx------ 2 root root    12288 Sep 11 08:47 sys
drwx------ 2 root root     4096 Sep 11 08:47 test_database
-rw-r----- 1 root root 10485760 Sep 11 08:47 undo001
-rw-r----- 1 root root 10485760 Sep 11 08:47 undo002
-rw-r----- 1 root root 10485760 Sep 11 08:47 undo003
[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 debian debian 747395 Sep 11 08:50 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 11.8.3-MariaDB debian-linux-gnu (x86_64)
[00] 2025-09-11 08:53:28 cd to /root/mariadb_backup/
[00] 2025-09-11 08:53:28 open files limit requested 0, set to 1024
[00] 2025-09-11 08:53:28 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] 2025-09-11 08:53:28 Loading encryption plugin
[00] 2025-09-11 08:53:28         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] 2025-09-11 08:53:28         Encryption plugin parameter :  '--innodb_encrypt_tables=OFF'
[00] 2025-09-11 08:53:28         Encryption plugin parameter :  '--prepare'
[00] 2025-09-11 08:53:28         Encryption plugin parameter :  '--target-dir'
[00] 2025-09-11 08:53:28         Encryption plugin parameter :  '/root/mariadb_backup'
[00] 2025-09-11 08:53:28 This target seems to be not prepared yet.
[00] 2025-09-11 08:53:28 mariabackup: using the following InnoDB configuration for recovery:
[00] 2025-09-11 08:53:28 innodb_data_home_dir = .
[00] 2025-09-11 08:53:28 innodb_data_file_path = ibdata1:12M:autoextend
[00] 2025-09-11 08:53:28 innodb_log_group_home_dir = .
[00] 2025-09-11 08:53:28 Starting InnoDB instance for recovery.
[00] 2025-09-11 08:53:28 mariabackup: Using 100663296 bytes for buffer pool (set by --use-memory parameter)
2025-09-11  8:53:28 0 [Note] InnoDB: Compressed tables use zlib 1.3.1
2025-09-11  8:53:28 0 [Note] InnoDB: Number of transaction pools: 1
2025-09-11  8:53:28 0 [Note] InnoDB: Using AVX512 instructions
2025-09-11  8:53:28 0 [Note] InnoDB: Using io_uring
2025-09-11  8:53:28 0 [Note] InnoDB: innodb_buffer_pool_size_max=96m, innodb_buffer_pool_size=96m
2025-09-11  8:53:28 0 [Note] InnoDB: Completed initialization of buffer pool
2025-09-11  8:53:28 0 [Note] InnoDB: Memory-mapped log (block size=512 bytes)
2025-09-11  8:53:28 0 [Note] InnoDB: End of log at LSN=50618
2025-09-11  8:53:28 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
[00] 2025-09-11 08:53:28 Last binlog file , position 0
recovered pages: 0% 10% 27% 41% 61% 74% 100% (0.0 seconds); tables to flush: 1 0 (0.0 seconds);
[00] 2025-09-11 08:53:28 completed OK!

# リストア実行

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


.....
.....

[01] 2025-09-11 08:53:54 Copying ./test_database/db.opt to /var/lib/mysql/test_database/db.opt
[01] 2025-09-11 08:53:54         ...done
[01] 2025-09-11 08:53:54 Copying ./test_database/test_table.ibd to /var/lib/mysql/test_database/test_table.ibd
[01] 2025-09-11 08:53:54         ...done
[01] 2025-09-11 08:53:54 Copying ./test_database/test_table.frm to /var/lib/mysql/test_database/test_table.frm
[01] 2025-09-11 08:53:54         ...done
[01] 2025-09-11 08:53:54 Copying ./xtrabackup_binlog_pos_innodb to /var/lib/mysql/xtrabackup_binlog_pos_innodb
[01] 2025-09-11 08:53:54         ...done
[00] 2025-09-11 08:53:54 completed OK!

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

root@node01:~#
systemctl start mariadb

関連コンテンツ