全量备份与恢复
- 在主库创建备份目录。
1 2 3
mkdir -p /data/xbackup/full/ ll /data/xbackup/full/ rm -rf /data/xbackup/full/*
- 备份主库的数据(全量备份,简称全备)。
- 进入XtraBackup的bin目录。
- xtrabackup-8.0.13版本:
1
cd /usr/local/xtrabackup-8.0.13/bin/
- xtrabackup-2.4.20版本:
1
cd /usr/local/xtrabackup-2.4.20/bin/
- xtrabackup-8.0.13版本:
- 备份主库的数据。
1
./xtrabackup --user=root --password=123456 --port=3306 --host=192.168.220.58 --socket=/data/mysql/run/mysql.sock --parallel=16 --backup --target-dir=/data/xbackup/full/
- 查看全量备份xtrabackup_checkpoints中的lsn(log sequence number,日志序列号)。
1
cat /data/xbackup/full/xtrabackup_checkpoints
- 查看全量备份xtrabackup_binlog_info中的binlog位置。
1
cat /data/xbackup/full/xtrabackup_binlog_info
- 进入XtraBackup的bin目录。
- 在主库查看备份数据。
1 2
ll /data/xbackup/full/ du -sh /data/xbackup/full/
- 把备份的主库数据拷贝到从库。
- 在从库创建备份目录。
1 2 3
mkdir -p /data/xbackup/full/ ll /data/xbackup/full/ rm -rf /data/xbackup/full/*
- 在主库把备份的主库数据拷贝到从库。
1
scp -r /data/xbackup/full/* root@192.168.220.152:/data/xbackup/full/
- 在从库查看备份数据。
1 2
ll /data/xbackup/full/ du -sh /data/xbackup/full/
- 在从库创建备份目录。
- 在从库停止从库的MySQL进程。
1 2 3
ps -ef | grep mysql /usr/local/mysql/bin/mysqladmin -uroot -p123456 shutdown -S /data/mysql/run/mysql.sock ps -ef | grep mysql
- 在从库执行如下操作,把备份的主库数据恢复到从库(全备恢复)。
- 进入XtraBackup的“bin”目录。
- xtrabackup-8.0.13版本:
1
cd /usr/local/xtrabackup-8.0.13/bin/
- xtrabackup-2.4.20版本:
1
cd /usr/local/xtrabackup-2.4.20/bin/
- xtrabackup-8.0.13版本:
- 准备备份数据。
1 2
./xtrabackup --prepare --target-dir=/data/xbackup/full/ ll /data/xbackup/full/
出现completed OK,则说明准备完成。
- 恢复数据到从库。
1
rsync -avrP /data/xbackup/full/ /data/mysql/data/
- 进入XtraBackup的“bin”目录。
- 启动数据库。
1 2
ps -ef | grep mysql /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
- 登录数据库并查看数据。
1 2
/usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/run/mysql.sock show databases;
父主题: 新增从库