Fedora 42
Sponsored Link

MariaDB : Backup2025/05/07

 

For Backup and Restore MariaDB Data, it's possible to run with [mariabackup].

[1] Generally [mariabackup] tool is installed with MariaDB Server for dependency, but if it has not been installed, Install it first.
[root@www ~]#
dnf -y install mariadb-backup
[2] Run Backup.
For example, get backup under [/home/mariadb_backup].
[root@www ~]#
mkdir /home/mariadb_backup

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


.....
.....
[00] 2025-05-07 09:07:03 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
[00] 2025-05-07 09:07:03 BACKUP STAGE END
[00] 2025-05-07 09:07:03 Executing BACKUP STAGE END
[00] 2025-05-07 09:07:03 All tables unlocked
[00] 2025-05-07 09:07:03 Backup created in directory '/home/mariadb_backup/'
[00] 2025-05-07 09:07:03 Writing backup-my.cnf
[00] 2025-05-07 09:07:03         ...done
[00] 2025-05-07 09:07:03 Writing xtrabackup_info
[00] 2025-05-07 09:07:03         ...done
[00] 2025-05-07 09:07:03 Redo log (from LSN 49855 to 49871) was copied.
[00] 2025-05-07 09:07:03 completed OK!

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

total 12744
-rw-r-----. 1 root root   417792 May  7 09:07 aria_log.00000001
-rw-r-----. 1 root root       52 May  7 09:06 aria_log_control
-rw-r-----. 1 root root      505 May  7 09:07 backup-my.cnf
-rw-r-----. 1 root root 12582912 May  7 09:06 ibdata1
-rw-r-----. 1 root root    12304 May  7 09:06 ib_logfile0
drwx------. 2 root root     4096 May  7 09:07 mysql
drwx------. 2 root root       20 May  7 09:06 performance_schema
drwx------. 2 root root     8192 May  7 09:06 sys
drwx------. 2 root root       64 May  7 09:06 test_database
-rw-r-----. 1 root root       97 May  7 09:07 xtrabackup_checkpoints
-rw-r-----. 1 root root      435 May  7 09:07 xtrabackup_info
[3] For restoring data from backup on another host, run like follows.
Before restoring, transfer backup data to the target host with [rsync] or [scp] and so on.
# stop MariaDB and remove existing data

[root@node01 ~]#
systemctl stop mariadb

[root@node01 ~]#
rm -rf /var/lib/mysql/*
# transferred backup data

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

-rw-r--r--. 1 root root 691638 May 7 09:12 mariadb_backup.tar.gz
[root@node01 ~]#
tar zxvf mariadb_backup.tar.gz

# run prepare task before restore task (OK if [completed OK])

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

mariabackup based on MariaDB server 10.11.11-MariaDB Linux (x86_64)
[00] 2025-05-07 09:14:56 cd to /root/mariadb_backup/
[00] 2025-05-07 09:14:56 open files limit requested 0, set to 1024
[00] 2025-05-07 09:14:56 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-05-07 09:14:56 Loading encryption plugin
[00] 2025-05-07 09:14:56         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-05-07 09:14:56         Encryption plugin parameter :  '--innodb_encrypt_tables=OFF'
[00] 2025-05-07 09:14:56         Encryption plugin parameter :  '--prepare'
[00] 2025-05-07 09:14:56         Encryption plugin parameter :  '--target-dir'
[00] 2025-05-07 09:14:56         Encryption plugin parameter :  '/root/mariadb_backup'
[00] 2025-05-07 09:14:56 This target seems to be not prepared yet.
[00] 2025-05-07 09:14:56 mariabackup: using the following InnoDB configuration for recovery:
[00] 2025-05-07 09:14:56 innodb_data_home_dir = .
[00] 2025-05-07 09:14:56 innodb_data_file_path = ibdata1:12M:autoextend
[00] 2025-05-07 09:14:56 innodb_log_group_home_dir = .
[00] 2025-05-07 09:14:56 InnoDB: Using Linux native AIO
[00] 2025-05-07 09:14:56 Starting InnoDB instance for recovery.
[00] 2025-05-07 09:14:56 mariabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
2025-05-07  9:14:56 0 [Note] InnoDB: Compressed tables use zlib 1.3.1.zlib-ng
2025-05-07  9:14:56 0 [Note] InnoDB: Number of transaction pools: 1
2025-05-07  9:14:56 0 [Note] InnoDB: Using AVX512 instructions
2025-05-07  9:14:56 0 [Note] InnoDB: Using Linux native AIO
2025-05-07  9:14:56 0 [Note] InnoDB: Initializing buffer pool, total size = 100.000MiB, chunk size = 100.000MiB
2025-05-07  9:14:56 0 [Note] InnoDB: Completed initialization of buffer pool
2025-05-07  9:14:56 0 [Note] InnoDB: Memory-mapped log (block size=512 bytes)
2025-05-07  9:14:56 0 [Note] InnoDB: End of log at LSN=49871
2025-05-07  9:14:56 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
[00] 2025-05-07 09:14:56 Last binlog file , position 0
recovered pages: 0% 33% 45% 89% 100% (0.0 seconds); tables to flush: 1 0
 (0.0 seconds);
[00] 2025-05-07 09:14:56 completed OK!

# run restore

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


.....
.....
[01] 2025-05-07 09:15:30         ...done
[01] 2025-05-07 09:15:30 Copying ./sys/x@0024waits_global_by_latency.frm to /var/lib/mysql/sys/x@0024waits_global_by_latency.frm
[01] 2025-05-07 09:15:30         ...done
[01] 2025-05-07 09:15:30 Copying ./sys/x@0024session.frm to /var/lib/mysql/sys/x@0024session.frm
[01] 2025-05-07 09:15:30         ...done
[01] 2025-05-07 09:15:30 Copying ./sys/session_ssl_status.frm to /var/lib/mysql/sys/session_ssl_status.frm
[01] 2025-05-07 09:15:30         ...done
[01] 2025-05-07 09:15:30 Copying ./performance_schema/db.opt to /var/lib/mysql/performance_schema/db.opt
[01] 2025-05-07 09:15:30         ...done
[01] 2025-05-07 09:15:30 Copying ./xtrabackup_info to /var/lib/mysql/xtrabackup_info
[01] 2025-05-07 09:15:30         ...done
[01] 2025-05-07 09:15:30 Copying ./xtrabackup_binlog_pos_innodb to /var/lib/mysql/xtrabackup_binlog_pos_innodb
[01] 2025-05-07 09:15:30         ...done
[00] 2025-05-07 09:15:30 completed OK!

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

[root@node01 ~]#
systemctl start mariadb

Matched Content