一.使用 Mysql 自带 mysqldump 命令进行数据库备份

mysql 数据库自带备份命令 mysqldump ,可对数据库进行备份操作

最简单的备份是将数据库备份至本地,生成  **.sql 文件

编写备份脚本文件

(创建一个 txt 文件,写入批处理脚本,再将文件的后缀改为 .bat 变为批处理脚本文件)rem autherKant

rem date:20201118

rem ******Backup MySQL Start******

@echo off

::设置时间变量

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"

::创建存储的文件夹

if not exist "D:\mysql_backup" md "D:\hero_backup"

::执行备份操作

"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=root --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql

::删除两周前的备份数据

forfiles /p "D:\mysql_backup" /m backup_*.sql -d -14 /c "cmd /c del /f @path"

@echo on

rem ******Backup MySQL End******

其中一些关键语句解释:

1.1 为备份文件存储位置设立一个文件夹,即如果不存在该文件就 md 创建该文件夹::创建存储的文件夹

if not exist "D:\hero _backup" md "D:\hero_backup"

1.2 备份操作:

“D:\mysql-8.0.20-winx64\bin\mysqldump” :执行本地mysql文件安装路径的bin文件夹中的mysqldump

–single-transaction=TRUE: 备份时没有锁表

–user=root :mysql 帐号

–password=root :mysql 密码

–host=127.0.0.1 :mysql 的ip地址

–port=3306 :mysql 的端口号

–default-character-set=utf8 :备份默认编码

events “hero” :进行备份的数据库名称

>D:\mysql_backup\backup_hero_%Ymd%.sql :备份文件存储的路径

set “Ymd=%date:0,4%%date:5,2%%date:~8,2%” :设置备份的日期参数,以供给 sql 命名使用

关于时间参数的参考:

%date:~0,10% //提取年月日信息

%date:~-3% //提取星期几信息

%time:~0,5% //提取时间中的时和分

%time:~0,-3% //提取时和分和秒信息

*注意由于脚本文件以空格和逗号进行分隔执行,所以有关路径的如果路径中有空格,必须以双引号引起来

*通常建议有关路径的都用双引号引起来::执行备份操作

"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql

1.3 对备份文件进行过期删除处理

Forfiles:从文件夹或树中选择要进行批处理的文件。

语法:

forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]

参数:

/p Path:指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。

/m SearchMask:按照SearchMask 搜索文件。默认的SearchMask 是*.* 。

/m backup_*.sql 指的是搜索以backup_为前缀,.sql为后缀的文件

/s:指示forfiles 在子目录中搜索。

/c Command:在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是"cmd /c echo @file" 。

/d [{+ | - }] [{MM / DD / YYYY | DD }]:选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 - 32768。

-d -14:即前14天::删除两周前的备份数据

forfiles /p "D:\mysql_backup" /m backup_*.sql -d -14 /c "cmd /c del /f @path"

二、跨主机备份

2.1 将需要的数据库备份至其他主机的指定数据库内

语法:

mysqldump --host=源数据库ip -u源数据库账户 -p源数据库密码 --opt 要备份的数据库 | mysql --host=目标机器ip -u目标数据库用户名 -p目标数据库密码 -C 目标数据库mysqldump --host=127.0.0.1 -uroot -proot --opt demo | mysql --host=1.2.3.4 -uroot -proot -C demo

2.2 远程备份数据库的 sql 文件

语法:"D:\mysql-8.0.20-winx64\bin\mysqldump" --opt --user=root --password=root --host=远程数据库ip --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "demo" >D:\mysql_backup\backup_demo_%Ymd%.sql

注:

进行远程备份的前提是,远程数据库需要创建一个对本机IP能够访问的用户,创建远程访问用户操作。

还原数据库

两种还原方法:mysqldump -uroot -proot -h127.0.0.1 demo < "D:\mysql_backup\backup_demo_20200814.sql"

mysql -uroot -proot demo< "D:\mysql_backup\backup_demo_20200814.sql"

win32mysql数据库回复_windows mysql 数据库备份与还原方法相关推荐

  1. Mysql数据库的简单备份与还原_史上最简单的MySQL数据备份与还原教程

    本文主要为大家详细介绍了史上最简单的MySQL数据备份与还原教程第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家. 数据备份与还原第一篇分享给大家,具体内容如下 基础概念: ...

  2. Mysql数据库的简单备份与还原_简单的MySQL备份与还原方法分享

    为了安全起见,需要经常对数据库作备份,或者还原.对于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的导出.导入功能了,但如果你的数据库体积比较大,作为 Web 应用的 phpMyA ...

  3. mysql数据库特别大怎么备份_如何备份还原mysql数据库 mysql数据库太大备份与还原方法...

    本篇文章小编给大家分享一下mysql数据库太大备份与还原方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 命令:mysqlhotcopy 这个命令会在拷贝文件之前会把表锁 ...

  4. 华为云数据库-RDS for MySQL数据库

    华为云数据库-RDS for MySQL数据库 华为云数据库作为华为云的一款数据库产品,它主要是以MySQL数据库为主,DDS/GaussDB(for Redis)/GaussDB(for MySQL ...

  5. 华为云数据库-GaussDB for MySQL数据库

    华为云数据库-GaussDB for MySQL数据库 GaussDB是华为云自主研发的一款高性能关系型数据库,它完全兼容了MySQL,而且它是华为云最新的一代企业级分布式关系型数据库,它也继承了华为 ...

  6. 查看mysql数据库版本_MySQL数据库之查看MySQL版本的四种方法

    本文主要向大家介绍了MySQL数据库之查看MySQL版本的四种方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1.终端下直接使用mysql命令 [root@localhos ...

  7. asp 更新 mysql数据库_asp update mysql数据库

    数据库必知词汇:数据操纵语言DML |名词定义|数据操纵语言(Data Manipulation Language, DML)是SQL语言的四大主要分类之一,用户通过它可以实现对数据库数据的基本操作. ...

  8. 数据库-面试题-MySQL数据库的优化方法

    数据库-面试题-MySQL数据库的优化方法 2017年08月22日 17:56:57 小笛子的专栏 阅读数 13236 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来, ...

  9. Oracle数据库迁移到MySQL数据库

    Oracle数据库迁移到MySQL数据库 1 字段类型差异 Oracle MySQL 解决方案 varchar2 varchar varchar date date/time/datetime/tim ...

最新文章

  1. java静态代码块和静态变量_java静态变量和静态代码块的加载顺序
  2. 用VS2005开发Sharepoint工作流,出现此安装不支持该项目类型。的处理
  3. gpg加密命令 linux_加密方案 GNUPG amp; Yubikey
  4. JSP简单练习-包装类综合应用实例
  5. Hmac - Java加密与安全
  6. 【NOI 2018】归程(Kruskal重构树)
  7. 将模板方法模式应用到kmeans聚类算法
  8. plsql轻量版游标的使用2
  9. matplotlib绘制平滑曲线
  10. MongoDB 凉了?
  11. linux c 笔记-1
  12. 下划线_Excel添加下划线的快捷键,下划线颜色设置
  13. axure数据报表元件库_axure图表元件库 axure教程:如何制作axure组件库
  14. 5.4、聚类之EM聚类实例
  15. matlab元胞数组
  16. SVCHOST启动服务实战
  17. 【图像算法朝圣之路二】虹膜识别1(K-means算法)
  18. 一个老程序员的忠告:千万不要一辈子靠技术生存
  19. oracle转换成字符型,Oracle中将Clob字段转换成字符串
  20. Variance Reduction Methods: a Quick Introduction to Quasi Monte Carlo——完结

热门文章

  1. Socket实现Android客户端与服务器的通信
  2. QC安装与运行中的问题汇集
  3. WCF Rest Service
  4. java基础面试题整理(BAT)
  5. mysql 中有没有临时表_MySQL临时表的简单用法
  6. 利用websocket实现一对一聊天
  7. python标准库(二)
  8. vue-获取某个组件渲染的Dom根元素
  9. 如何在linux里面运行ncl,NCL基础讲解(二)——NCL安装与运行
  10. Web前端书单从HTML到JS到AJAX到HTTP从框架到全栈