mysql备份还原

备份与恢复
通过数据文件和my.cnf备份还原
1.保存原始库的data文件和my.cnf
2.拷贝data文件和my.cnf带初始话好的新库,如果涉及到主备,data/auto.cnf文件不替换
3.给mysql目录授权
chown mysql:msql -R /app/mysql
4.启动数据库

逻辑备份恢复
全备
./mysqldump -uroot -proot1234 --single-transaction --flush-logs --master-data=2 --all-databases > /app/mysql/bak/full/backup_full.sql
执行此命令后,数据目录包含一个新的二进制日志文件,因为该–flush-logs 选项会导致服务器刷新其日志
./mysqladmin -uroot -proot1234 flush-log
增量备份成新的二进制文件,增量内容都在全备和增备的二进制文件中

恢复
先全量恢复
./mysql -uroot -proot1234 < /app/mysql/bak/full/backup_full.sql
再增量恢复
./mysqlbinlog --no-defaults /app/mysql/bak/incr/mysql-bin.000006 /app/mysql/bak/incr/mysql-bin.000007 | ./mysql -uroot -proot1234
要恢复增量后的文件,还可以
./mysqlbinlog --no-defaults /app/mysql/bak/incr/mysql-bin.000008 | ./mysql -uroot -proot1234

xtrabackup的安装部署,实现mysql的备份恢复
1.访问地址https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/
下载percona-xtrabackup-24-2.4.24-1.el7.x86_64.rpm
2.rpm -ivh percona-xtrabackup-24-2.4.24-1.el7.x86_64.rpm 如果报错缺少依赖,要下载对应依赖
3.完全备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root1234 /app/mysql/bak/full
4.删除数据目录
rm -rf /app/mysql/data/*
5.还原
innobackupex --apply-log /app/mysql/bak/full/2021-09-16_21-37-41/
Innobackupex --defaults-file=/etc/my.cnf --copy-back /app/mysql/bak/full/2021-09-16_21-37-41/
6.给mysql目录授权
chown mysql:mysql -R /app/mysql/data
7.启动mysql服务
/app/mysql/bin/mysqld_safe
8.增量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root1234 --incremental /app/mysql/bak/incr/ --incremental-basedir=/app/mysql/bak/full/2021-09-16_21-37-41/
9.增量还原
准备一个全备
innobackupex --apply-log --redo-only /app/mysql/bak/full/2021-09-16_21-37-41/
将增量1应用到完全备份
innobackupex --apply-log --redo-only /app/mysql/bak/full/2021-09-16_21-37-41/ --incremental-dir=/app/mysql/bak/incr/2021-09-16_21-40-39/
把所有合在一起的完全备份整体进行一次apply操作,回滚未提交的数据
innobackupex --apply-log /app/mysql/bak/full/2021-09-16_21-37-41/
删除数据目录
rm -rf /app/mysql/data/*
数据库恢复
innobackupex --defaults-file=/etc/my.cnf --copy-back /app/mysql/bak/full/2021-09-16_21-37-41/
10. 给mysql目录授权
chown mysql:mysql -R /app/mysql/data
11. 启动mysql服务
/app/mysql/bin/mysqld_safe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值