转载: https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/full_backup.html 需要指定用户名和密码:
xtrabackup --defaults-file=/etc/my.cnf --user=root --password=123 --backup --target-dir=/xtrabackup
恢复: 恢复需要两步,先是prepare,再restoreprepare,是为了让数据文件取得一致性,因为热备份时不会有一致性。
# xtrabackup --prepare --target-dir=/opt/backup xtrabackup: recognized server arguments: --innodb_checksum_algorithm=crc32 --innodb_log_checksum_algorithm=strict_crc32 --innodb_data_file_path=ibdata1:10M:autoextend --innodb_log_files_in_group=3 --innodb_log_file_size=268435456 --innodb_fast_checksum=0 --innodb_page_size=16384 --innodb_log_block_size=512 --innodb_undo_directory=./ --innodb_undo_tablespaces=0 --server-id=1 --redo-log-version=1 xtrabackup: recognized client arguments: --prepare=1 --target-dir=/opt/backup xtrabackup version 2.4.21 based on MySQL server 5.7.32 Linux (x86_64) (revision id: 5988af5)
此时,备份目录已经是可用的数据库文件了:
[root@mysql1 ~]# ll /opt/backup total 819248 -rw-r----- 1 root root 488 Jan 19 13:34 backup-my.cnf -rw-r----- 1 root root 409 Jan 19 13:34 ib_buffer_pool -rw-r----- 1 root root 12582912 Jan 19 13:38 ibdata1 -rw-r----- 1 root root 268435456 Jan 19 13:38 ib_logfile0 -rw-r----- 1 root root 268435456 Jan 19 13:38 ib_logfile1 -rw-r----- 1 root root 268435456 Jan 19 13:38 ib_logfile2 -rw-r----- 1 root root 12582912 Jan 19 13:38 ibtmp1 drwxr-x--- 2 root root 4096 Jan 19 13:34 mysql drwxr-x--- 2 root root 4096 Jan 19 13:34 performance_schema drwxr-x--- 2 root root 4096 Jan 19 13:34 sakila drwxr-x--- 2 root root 12288 Jan 19 13:34 sys -rw-r----- 1 root root 21 Jan 19 13:34 xtrabackup_binlog_info -rw-r----- 1 root root 138 Jan 19 13:38 xtrabackup_checkpoints -rw-r----- 1 root root 518 Jan 19 13:34 xtrabackup_info -rw-r----- 1 root root 8388608 Jan 19 13:38 xtrabackup_logfile -rw-r--r-- 1 root root 1 Jan 19 13:38 xtrabackup_master_key_id
使用xtrabackup恢复库,需要datadir为空
xtrabackup --copy-back --target-dir=/opt/backup
恢复后记得改owner
chown -R mysql:mysql /var/lib/mysql
