xtrabackup备份工具(完全备份)

常用三种使用方式:

最常用

$ innobackupex --user=DBUSER --password=SECRET /path/to/backup/dir/

压缩备份

$ innobackupex --user=LUKE  --password=US3TH3F0RC3 --stream=tar ./ | bzip2  

较老的版本使用  

$ xtrabackup --user=DVADER --password=14MY0URF4TH3R --backup --target-dir=/data/bkps/

创建具有完整备份所需的最低权限的数据库用户的 SQL 示例如下:(也可用数据库root账户)

mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cr%T';
mysql> GRANT BACKUP_ADMIN, PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
mysql> GRANT SELECT ON performance_schema.log_status TO 'bkpuser'@'localhost';
mysql> GRANT SELECT ON performance_schema.keyring_component_status TO bkpuser@'localhost'
mysql> FLUSH PRIVILEGES;

使用innobackupex完整备份

innobackupex --user=root --password=123456 /tmp/db_backup/
#不显示输出
innobackupex --user=root --password=123456 /tmp/db_backup/ 2>>/tmp/db_backup/db_backup.log

其他选项:

innobackupex  --defaults-file=/etc/my.cnf  --user=root --password=123456 --no-timestamp /tmp/db_backup/full
--no-timestamp,指定了这个选项备份会直接备份在BACKUP-DIR,不再创建时间戳文件夹。
--default-file,指定配置文件,用来配置innobackupex的选项

使用innobackupex完整还原备份

innobackupex数据库恢复,恢复前先保证数据一致性,执行如下命令:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --apply-log /data/backup//mysq1/2014-12-2000-10-24
Systemctl stop mysqld
rm -rf /var/lib/mysql/*
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --copy-back /data/backup//mysq1/2014-12-2000-10-24/
#查看权限
ll /usr/local/mysql/data/ 
#重新授权,要不然mysql启动不起来
chown -R mysql:mysql /var/lib/mysql/
systemctl restart mysqld

注:datadir必须是为空的,innobackupex --copy-back不会覆盖已存在的文件,还要注意,还原时需要先关闭服务,如果服务是启动的,那么就不能还原到datadir。

版权声明:
作者:WaterBear
链接:https://l-t.top/1754.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>