MySQL备份策略(二):mysqldump备份数据库

  • mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL版本之间升级时相对比较合适,兼容性比较高,是最常用的备份方法。
  • 可以配合bin_log,可以实现日志的增量备份。
  • (完全备份 + 增量备份,速度相对较慢,适合中小型数据库) (MyISAM 是温备份, InnoDB 是热备份)

环境

两台基于Centos 系统的MySQL-7.5.14 服务器
ip分别为136和140

备份策略:

  • 第一次完全备份,每天一次增量备份,每周再做一次完全备份,如此一直重复。
  • 为了实现在线备份,并且能增量备份,最好的办法就是采用主从复制机制(replication),在slave机器上做备份。

示例一:备份恢复单个数据库

步骤:1.备份

  • 136服务器上备份

[root@localhost ~]# mkdir /backup/mysql -p

语法:mysqldump -u用户 -p密码 -B > 备份路径/备份文件名
[root@localhost ~]# mysqldump -uroot -pSirius123! -B test0118 > /backup/mysql/cl2sl1_1.sql
  • -B作用:含有创建数据库和切换数据库的语句,恢复时不用创建数据库和删表。备份多个库,-B 数据库1 数据库2 ...

如果数据库过大,可以进行压缩:

语法:mysqldump -u用户 -p密码 数据库名 > gzip 路径+备份文件压缩包
[root@localhost ~]# mysqldump -uroot -pSirius123! -B test0118 | gzip > /backup/mysql/cl2sl1_2.sql.gz

2.恢复

方法一:MySQL中用source命令(需解压)

语法:gzip -d 备份文件压缩包
[root@localhost mysql]# gzip -d cl2sl1_2.sql.gz        //解压

语法:source 路径+备份文件名
mysql> source /backup/mysql/cl2sl1_2.sql               //进入sql界面使用source命令恢复 

 方法二:mysql命令恢复

语法:zcat 备份数据库压缩包 > mysql -u用户 -p密码
[root@localhost mysql]# zcat cl2sl1_2.sql.gz | mysql -uroot -pSirius123!

示例二:备份恢复多个或全部数据库

步骤:1.备份

语法:mysqldump -u用户 -p密码 -A/--database -B > 备份文件名
[root@localhost mysql]# mysqldump -uroot -pSirius123! -A -B > cl2sl2_1.sql    //备份全部数据库,-A=--database

语法:mysqldump -u用户 -p密码 -B 数据库1 数据库2 ... > 备份文件名
[root@localhost ~]# mysqldump -uroot -pSirius123! -B test0118 test0119 > /backup/mysql/cl2sl2_1.sql       //备份多个数据库

2.恢复

语法:cat 备份文件名 | mysql -u用户名 -p密码
[root@localhost mysql]# cat cl2sl2_1.sql | mysql -uroot -pSirius123!
//用zcat查看内容,加一个管道,把上一条的输出作为下一个命令的标准输入

示例三:备份数据结构

  • -d只备份库结构,不包含数据内容
语法:mysqldump -u用户 -p密码 -B 数据库名 -d > 备份文件名
[root@localhost mysql]# mysqldump -uroot -pSirius123! -B nodata -d > db1_nodata.sql

示例四:备份恢复单个表

语法:mysqldump -u用户 -p密码 数据库名 表名 > 备份文件名
[root@localhost mysql]# mysqldump -uroot -pSirius123! test0119 authors > cl2sl4_1.sql
[root@localhost mysql]# mysqldump -uroot -p school Books > /tmp/Books.$(date +%F).sql    //加上当前日期,方便区分备份时间
备份多个表&#x
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值