[Windows] Mysql备份与备份计划

本文详细介绍了在Windows上使用mysqldump进行MySQL 5.7数据库的完全备份、多个数据库备份、GZIP压缩、数据库还原以及如何设置备份计划。还涉及了热备份、差异备份的方法,包括启用binlog日志和从binlog恢复数据的步骤。同时提醒了在Navicat中备份可能导致的数据丢失问题及其解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mysql备份(版本5.7)

备份的语句mysqldump的基本语法:

//--single-transaction支持热备份
//mysqldump [options] dbname table1 table2...>BackupName.sql;
mysqldump --single-transaction -uusername -p dbname table1 table2...>BackupName.sql;

如果执行脚本提示 "Mysql"不是内部或外部命令,需要根据自己电脑Mysql的安装路径在系统环境变量的Path中进行新增/编辑
在这里插入图片描述

单个数据库完全备份

运行CMD,在页面输入一下备份脚本:
mysqldump --single-transaction -u username -p testback>E:BACK.sql;
将[testback]数据库备份到E盘下的Back.sql文件
在这里插入图片描述

多个数据库备份

在这里插入图片描述

GZIP

脚本: mysqldump -uroot -p [数据库名称]|gzip>[备份文件路径]

如果提示”zip不是外部或者内部命令…“! 需要确认C:\windows\system32文件下是否存在gzip.exe文件
在这里插入图片描述

数据库的还原

运行CMD,转至Mysql的Bin目录,登录Mysql:

mysql -u root -p

指定目标数据库(现有的数据库): use DatabaseName;
最后执行数据库的还原命令:

//use Database
source [filepath]

在这里插入图片描述

//这里的Backup文件导出时含有CreateDatabase语句
//导出脚本:mysqldump -uroot -p -b testback>FieldName.sql
//导入不需要指定存在的数据库  
//反之导入脚本需要加上数据库名:>mysql -uroot -p DatabaseName<filepath
C:\Users\cn0086206836>mysql -uroot -p<E:Back3.sql
Enter password: ***********

ZIP文件还原

//脚本提示gunzip不是内部或外部命令时,需要确认C:\windows\system32文件下是否存在gunzip.exe文件
>gunzip<[数据库zip备份文件路径]|mysql -uXXX -pXXXX [还原到的目标数据库]

在这里插入图片描述

备份计划

BAT文件备份

上述的BAT备份脚本中不支持热备份
热备份需修改相对应的脚本
mysqldump.exe --skip-opt -hxx.xxx.xx -uroot -pxxx aadt_test > D:/CSMysqlBack/%filename%.sql

Navicat备份
注意 使用Navicat备份文件还原时,会出现表数据丢失的问题,这时候需要修改下数据库的 max_allowed_packet ,设置为52428800(1024102450)就可以了

Mysql差异备份

参考链接
第一步:开启Mysql日志

如何开启mysql的binlog日志呢?
在my.inf主配置文件中直接添加三行
log_bin=ON
log_bin_basename=…/mysql-bin
log_bin_index=…/mysql-bin.index
三个参数来指定,
第一个参数是打开binlog日志
第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件
第三个参数指定的是binlog文件的索引文件,这个文件管理了所有的binlog文件的目录

当然也有一种简单的配置,一个参数就可以搞定
log-bin=…/mysql-bin
这一个参数的作用和上面三个的作用是相同的,mysql会根据这个配置自动设置log_bin为on状态,自动设置log_bin_index文件为你指定的文件名后跟.index

这些配置完毕之后对于5.7以下版本应该是可以了,但是我们这个时候用的如果是5.7及以上版本的话,重启mysql服务会报错。这个时候我们必须还要指定一个参数
server-id=123454

打开my.ini文件。添加/编辑配置项[bin-log=filepath]
在这里插入图片描述
注意:如果安装的文件中找不到my.ini,那么可以去你安装MySql的磁盘下的ProgramData文件下找找。关于my.ini文件的路径以及创建
修改完保存时需要注意文件的编码格式,记事本打开时自动保存会默认为UTF-8的编码格式,这样会导致Mysql服务无法启动。需要修改为对应的ANSI编码格式
在这里插入图片描述

第二步:完全备份一次数据库
在这里插入图片描述
删除数据库(模拟误删除)
在这里插入图片描述
刷新日志文件
在这里插入图片描述
查看日志文件并进行恢复

恢复语法:mysqlbinlog [options] [filepath] |mysql -uroot -p
图二中根据日志恢复数据库到Pos位2087的日志节点

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值