Mariadb数据库备份与恢复(2)

2021-03-04  本文已影响0人  刘小白DOER

    在上一篇文章阐述了数据库复制数据文件的冷备和select ... into outfile以及mysqldump热备方法,今天实验一些mariadb数据库自带的物理在线备份工具Mariabackup,该工具可以完成大规模的备份和恢复。

    Mariabackup这个工具是基于Percona的XtraBackup(版本2.3.8)的解决方案,MariaDB10.3.x及以上的版本用Percona XtraBackup工具会有问题,MariaDB官方开发一个完全支持MariaDB独有功能的备份解决方案Mariabackup。

    笔者在windows平台下备份数据库目录data目录下,目录也可以写全路径,如果在备份数据到bin目录里面会提示无法建立文件夹的错误,所以笔者在上一级目录里面存放数据。

    mariabackup --backup --target-dir ../backup --user root

    mariabackup使用了socket方式来连接数据库。

    本次备份了test数据库,里面有一个card表有一千万行数据,花了13秒完成。备份完成后查看backup目录,其实有别于其他在线备份的工具,mariabackup备份下来的是数据文件,而非sql语句,这样的物理备份复制其原始格式的数据文件,可以快速恢复。但是缺点就是采取复制物理文件的方式备份,需要大量的磁盘空间,用于存放备份。

    关闭数据库再还原数据的命令:mariabackup --copy-back  --target-dir ../backup --user root。在linux平台下,因为备份的用户是root,还原过去的时候属主没有变化,所以要吧还原过去的数据的属主和属组修改一下:chown -R mysql:mysql /usr/local/mariadb/data 。

    同时可以添加参数:--incremental-basedir来增量备份, mariabackup --backup --databases test --target-dir ../backup1  --incremental-basedir ../backup --user root,即在backup基础上再进行备份。

上一篇下一篇

猜你喜欢

热点阅读