mysql数据备份

备份策略
物理备份:
逻辑备份不复制实际数据文件而复制表结构和数据的备份。例如,mysqldump命令生成逻辑备份,因为它的输出包含 CREATE等语句可以重新创建数据的表和插入。 与物理备份形成对比。 逻辑备份提供了灵活性 (例如,您可以在恢复之前编辑表定 义或插入语句),但是可以进行大量的操作恢复时间比物理备份长。
逻辑备份:
物理备份复制实际数据文件的备份。例如,MySQL企业的mysqlbackup命令备份产品生成物理备份,因为它的输出包含可以直接由mysqld服务器,导致更快的恢复操作。与逻辑备份形成对比。参见备份、逻辑备份、MySQL企业备份和还原。
备份命令:
将数据库中的所有表备份到/date/all.sql

mysqldump  -uroot -p 密码  --all-databases  > /date/all.sql

将数据库中的mysql表备份到/date/mysql.sql

mysqldump -uroot -p 密码  mysql > /date/mysql.sql

恢复数据
将备份数据全部导入到数据库中

mysqldump -uroot -p123456  --all-databases < /date/all.sql

将备份的mysql数据导入数据库中的mysql库中

mysqldump -uroot -p123456 mysql < /date/mysql.sql

innobackupex备份数据
下载软件percna-xtrabackup
使用innobackupex备份需要将数据库的储存引擎改为Innodb
修改配置文件

vim /etc/my.cnf
default-storage-engine=innodb    #该选项默认使用的是innodb储存引擎

重启数据库

systemctl restart mysqld

查看数据库使用的储存引擎

mysql -uroot -p123456 -e "show engines;"

innobackupex完全备份

innobackupex --user=root  --password=123456 /allbak  --no-timestamp      #--no-timestamp  让备份下来的数据不打时间戳
chown  -R mysql:mysql /allbak    #将该目录是所有者和所属组改为mysql

完全恢复
使用innobackupex做完全恢复之前还需要将数据库停止

systemctl stop mysqld
rm -rf /var/lib/mysql
mkdir /var/lib/mysql

准备恢复数据

innobackupex --apply-log /allbak/  #日志回滚
innobackupex --copy-back /allbak/  #拷贝数据
ll /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql

数据增量备份

innobackupex --user=root --password=123456 /fullbak --no-timestamp  #先做一个完全备份
innobackupex --user=root --password=123456 --incremental /new1dir --incremental-basedir=/fullbak --no-timestamp

–incremental /new1dir #增量备份存放的目录
–incremental-basedir=/fullbak #该指定目录为最近的完全备份目录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值