逻辑备份
恢复数据量较小
一个库
第一步备份
mysqldump -uroot -p123 --databases xiao > /root/xiao.sql
第二步恢复
MariaDB [xiao]> source xiao.sql
所有库
mysqldump -uroot -p123 -x --all-databases > all.sql
一个表
多个
# mysqldump -uroot -p123 zxw students > students.sql
备份工具mariabackup
mysqldump
简介
Mariabackup是MariaDB提供的一个开源工具,用于对InnoDB,Aria和MyISAM表进行物理在线备份。这个工具是基于Percona的XtraBackup(版本2.3.8)的解决方案。
这里有一点需要注意,在MariaDB10.3.x及以上的版本用Percona XtraBackup工具会有问题。原因可能是MariaDB10.3以上版本的redo日志格式和之前不同了。
Percona的官方文档:https://www.percona.com/doc/percona-xtrabackup/2.4/index.html
Mariabackup的官方文档:https://mariadb.com/kb/en/library/mariabackup-overview/
安装方法
yum install MariaDB-backup
备份与恢复
全备+恢复
1.全量备份
mariabackup --backup --target-dir=/root/fullbackup --user=root --password=root
2.准备全备数据
mariabackup --prepare --target-dir=/root/fullbackup/ --user=root --password=root
3.还原数据(请确保数据目录下是空的)
cd /var/lib/mysql
mkdir /root/mysql
mv * /root/mysql
mariabackup --copy-back --target-dir=/root/fullbackup/ --user=root --password=root
4.修改属组和属主
chown -R mysql.mysql /var/lib/mysql
全备+增量+恢复
1.全量备份
mariabackup --backup --target-dir=/root/fullbackup --user=root --password=root
2.增量备份
mariabackup --backup --target-dir=/root/inc1 --incremental-basedir=/root/fullbackup/ --user=root --password=root
3.准备全备数据
mariabackup --prepare --target-dir=/root/fullbackup/ --user=root --password=root
4.增量和全备数据合并
mariabackup --prepare --target-dir=/root/fullbackup/ --user=root --password=root --incremental-dir=/root/inc1/ --apply-log-only
5.恢复数据(请确保数据目录下是空的)
mariabackup --copy-back --target-dir=/root/fullbackup/ --user=root --password=root
6.修改属组和属主
chown -R mysql.mysql /var/lib/mysql
t -p123 zxw students classes > students.sql
全备+恢复
[mariadb]
name = MariaDB
baseurl = http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
gpgkey = http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
第一步下载:
[root@zxw8 ~]# yum install MariaDB-backup -y
第二步全局备份:
[root@zxw8 ~]# mariabackup --backup --target-dir=/root/fullbackup --user=root --password=123
第三步移除数据库:
[root@zxw8 mysql]# cd /var/lib/mysql/
[root@zxw8 ~]# mkdir test
[root@zxw8 mysql]# mv ./* /root/test/
第四步准备恢复:
[root@zxw8 mysql]# mariabackup --prepare --target-dir=/root/fullbackup --user=root --password=123
第五步:还原数据(请确保数据目录下是空的)
mariabackup --copy-back --target-dir=/root/fullbackup/ --user=root --password=123
第六步修改属组和属:
[root@zxw8 mysql]# chown -R mysql ./*
chown -R mysql.mysql /var/lib/mysql
全备+增量+恢复
1.全局备份数据库
2.创建一个数据库
3.增量备份
4.删除创建的数据库
5.恢复
第一步下载:
[root@zxw8 ~]# yum install MariaDB-backup -y
第二步全局备份:
[root@zxw8 ~]# mariabackup --backup --target-dir=/root/fullbackup --user=root --password=123
第三步.增量备份:
[root@zxw8 ~]# mariabackup --backup --terget-dir=/root/incl --incremental-basedir=/root/fullbackup --user=root --password=123
第四步准备恢复:
[root@zxw8 ~]# mariabackup --prepare --target-dir=/root/fullbackup --user=root --password=123
第五步增量和全备数据合并
mariabackup --prepare --target-dir=/root/fullbackup/ --user=root --password=123 --incremental-dir=/root/inc1/ --apply-log-only
移除数据库:
[root@zxw8 mysql]# cd /var/lib/mysql/
[root@zxw8 ~]# mkdir test
[root@zxw8 mysql]# mv ./* /root/test/
第六步恢复数据(请确保数据目录下是空的)
mariabackup --copy-back --target-dir=/root/fullbackup/ --user=root --password=123
第七步修改属组和属主
chown -R mysql.mysql /var/lib/mysql