MariaDB - Mariabackup热备份工具
自MariaDB10.2.7(含)以上版本,不再支持使用Percona XtraBackup工具在线物理热备份。
MariaDB 10.1引入了MariaDB独有的功能,例如InnoDB页面压缩和静态数据加密。这些独家功能在MariaDB用户中非常受欢迎。但是,来自MySQL生态系统的现有备份解决方案(如Percona XtraBackup)不支持这些功能的完全备份功能。
为了满足用户的需求,MariaDB官方决定开发一个完全支持MariaDB独有功能的备份解决方案。它基于Percona XtraBackup 2.3.8版本改写扩展。
mariabackup工具使用(包含在二进制tar包bin目录下)
1、备份
shell> mariabackup --defaults-file=/etc/my.cnf -S /tmp/mysql3306.sock --backup --target-dir=/data/bak/ --user=root --password=123456
2、恢复备份期间增量数据(这一步类似innobackupex --apply-log)
shell> mariabackup --prepare --target-dir=/data/bak/
注:/data/bak/xtrabackup_binlog_pos_innodb文件,记录主库show master status的POS点。
3、恢复
步骤
1、关闭mysqld进程
2、确保datadir目录为空,你可以把原目录改个名字,再创建一个新的
3、恢复
shell> mariabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/bak/
4、更改目录属性
shell> chown -R mysql:mysql /var/lib/mysql/
如果你想在从库上备份,并且想记录从库的show slave status的POS点,以便后续再接一个从库,
那么你可以这样搞:
shell> mariabackup --defaults-file=/etc/my.cnf -S /tmp/mysql3306.sock --backup --slave-info --safe-slave-backup --target-dir=/data/bak/ --user=root --password=123456
注:/data/bak/xtrabackup_slave_info文件,记录从库show slave status的POS点。
参考:https://mariadb.com/kb/en/library/mariabackup/
---------------------------------------------------------------------
# xbstream流解压缩
/usr/local/mariadb/bin/mbstream -x -C ./ < ./backup.xbstream
---------------------------------------------------------------------