常见的备份方法:
1、物理冷备份:tar命令
2、专用备份工具:mysqldump、Mysqlhotcopy
3、二进制日志
4、第三方工具备份
Percona XtraBackup
Xtrabackup、innobackupex、xbstream
物理冷备份与恢复:
tar命令直接打包数据库文件夹
[root@localhost ~]# systemctl stop mysqld ###关闭数据库####
[root@localhost ~]# mkdir /backup ###在根下新建个backup目录
[root@localhost ~]# tar zcf /backup/mysql_all-$(date +%F).tar.gz /usr/local/mysql/data/ ###/usr/local/mysql/data备份压缩
[root@localhost ~]# cd /backup/ ###进入/backup/
[root@localhost backup]# ll ###查看备份
总用量 1328
-rw-r--r-- 1 root root 1359664 8月 12 22:39 mysql_all-2020-09-12.tar.gz
然后来模拟数据故障:
[root@localhost backup]# mkdir /bak ###在根下新建bak目录
[root@localhost backup]# mv /usr/local/mysql/data/ /bak/ ###将目录data数据移动到bak 里面去
[root@localhost backup]# cd /usr/local/mysql/ ###仅mysql目录查看data
[root@localhost mysql]# ll ###查看后data目录被移走 ,模拟故障成功
总用量 64
drwxr-xr-x 2 mysql mysql 4096 8月 4 19:19 bin
-rw-r--r-- 1 mysql mysql 17987 9月 13 2017 COPYING
-rw-r--r-- 1 mysql mysql 17987 9月 13 2017 COPYING-test
drwxr-xr-x 2 mysql mysql 55 8月 4 19:19 docs
drwxr-xr-x 3 mysql mysql 4096 8月 4 19:19 include
drwxr-xr-x 4 mysql mysql 191 8月 4 19:19 lib
drwxr-xr-x 4 mysql mysql 30 8月 4 19:19 man
drwxr-xr-x 10 mysql mysql 4096 8月 4 19:20 mysql-test
-rw-r--r-- 1 mysql mysql 2478 9月 13 2017 README
-rw-r--r-- 1 mysql mysql 2478 9月 13 2017 README-test
drwxr-xr-x 28 mysql mysql 4096 8月 4 19:20 share
drwxr-xr-x 2 mysql mysql 90 8月 4 19:20 support-files
drwxr-xr-x 3 mysql mysql 17 8月 4 19:19 usr
接下来进行数据恢复:
[root@localhost mysql]# mkdir /restore ###根目录新建restore 目录
[root@localhost mysql]# tar xzvf /backup/mysql_all-2020-09-12.tar.gz -C /restore/ ####将备份数据库解压到 /restore目录下
[root@localhost mysql