Environmental preparation
- Test environment: centos7
- Download mysql source: wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
- Install mysql source: rpm -ivh mysql-community-release-el7-5.noarch.rpm
- Install mysql: yum install mysql-server (if an error is reported, you can try yum remove -y mariadb-libs and try again)
- Start mysql: service mysqld start
- Log in, set root user permissions and assign password: GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY '123' WITH GRANT OPTION;
- Download percona-xtrabackup source: wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
- Install percona-xtrabackup type:rpm -ivh percona-release-latest.noarch.rpm
- Install percona-xtrabackup: yum -y install percona-xtrabackup-24.x86_64
Complete:
innobackupex -uroot -p123 /home/mysql/bak_dir (the 2023-04-26_17-23-55 directory is generated)
or
xtrabackup --backup --target-dir=/home/mysql/bak_dir/full_clone -uroot -p123 -P3306 --socket /var/lib/mysql/mysql.sock
Additional reserves:
- Generate incremental files, innobackupex -uroot -p123 --incremental /home/mysql/bak_dir --incremental-basedir=/home/mysql/bak_dir/2023-04-26_17-23-55 or xtrabackup --backup --target- dir=/home/mysql/bak_dir/inc_dir1 --incremental-basedir=/home/mysql/bac_dir/full_clone -uroot -p123 -P3306 --socket /var/lib/mysql/mysql.sock
- Prepare to merge increments, innobackupex -uroot -p123 --apply-log --redo-only /home/mysql/bak_dir/2023-04-26_17-23-55
- Perform merge increments, innobackupex -uroot -p123 --apply-log --redo-only /home/mysql/bak_dir/2023-04-26_17-23-55 --incremental-dir=/home/mysql/bak_dir/* **
- The merge increment ends, innobackupex -uroot -p123 --apply-log /home/mysql/bak_dir/2023-04-26_17-23-55
recover:
- service mysqld stop
- chown mysql:mysql -R /home/mysql/bak_dir/2023-04-26_17-23-55
- Modify the configuration file my.cnf or my.ini, datadir=/home/mysql/bak_dir/2023-04-26_17-23-55
- service mysqld start