Windows下自动备份MySQL数据库

这篇具有很好参考价值的文章主要介绍了Windows下自动备份MySQL数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

windows mysql 备份,数据库,数据库,mysql,windows,经验分享

原文链接:Windows下自动备份MySQL数据库 | Elvin

前言

为什么做数据库自动备份?

公司之前一个很久没用的项目服务器突然挂了,原因居然是数据库不见了,莫名其妙;看了日志、什么都查了,数据库消失的干干净净🤔️❓这可真是要命,还好我之前有导出过sql文件做本地数据库,不然就GG了;至此,数据库自动备份必然开始着手布置了。

一、mysqldump命令

在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump

我们可以通过命令行直接实现数据库内容的导出dump,以下为mysqldump基本命令用法:

#MySQLdump常用
mysqldump -uroot -p123456 --databases 数据库1 数据库2 > xxx.sql
  
(固定参数不可改变)
# mysqldump:固定参数
# -u:固定参数 root:mysql数据库的账号(紧跟-u参数,也可以使用空格与-u隔开)
# -p:固定参数 123456:mysql数据库的密码(紧跟-p参数,不可与-p隔开,我自己测试隔开命令会报错)
# --databases:固定参数 后面跟需要备份的数据库名,可以是多个,空格隔开
# >:固定参数
# xxx.sql:最终备份的文件名(文件地址,详细解析看下面)
(以上除-u及-p后的参数,其余所有参数之间使用空格号隔开)
  1. 备份全部数据库的数据和结构

/data/mysqlDump/mydb.sql为备份的sql文件最后的保存路径,下面所有的命令均是如此

⚠️注意:路径中的文件名切勿带空格,如:/da ta/mysqlDump/mydb.sql

mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql

  1. 备份全部数据库的结构(加 -d 参数)

    mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql

  2. 备份全部数据库的数据(加 -t 参数)

    mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql

  3. 备份单个数据库的数据和结构(数据库名mydb)

    mysqldump -uroot-p123456 mydb > /data/mysqlDump/mydb.sql

  4. 备份单个数据库的结构

    mysqldump -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql

  5. 备份单个数据库的数据

    mysqldump -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql

  6. 备份多个表的数据和结构(数据,结构的单独备份方法与上同)

    mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql

  7. 一次备份多个数据库

    mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql

二、数据库备份的脚本文件

  • 使用.bat脚本进行操作
  • 简单介绍:批处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。这个文件的每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。 具体请看出处:bilibili

1、脚本处理文件

先使用txt文档把下面内容复制进去,然后修改后缀.txt为.bat即可

@echo off
echo =============================
echo ### mysql database backup bat
echo =============================

echo =========当前日期时间==========
set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo %nowdate%
echo =============================

echo =========IP地址和端口==========
set ipconfig=192.168.2.201
echo %ipconfig%
echo =============================

echo ======进入到mysql安装目录======
D:
cd D:\MySQL\bin
echo =============================

echo ====备份mysql文件到指定文件夹====
echo mysql文件备份中...
echo =============================
mysqldump -uroot -proot school > "D:\MySQLCopy_File\copy_%ipconfig%_%nowdate%.sql"
echo MySQL 备份成功
echo =============================

echo 备份的sql文件
forfiles /p "D:\MySQLCopy_File" /s /m *.sql
echo =============================

rem 获取"D:\MySQLCopy_File"目录下的sql文件,并且删除7天前的文件
echo *********************
echo * 按时间删除7天前的sql文件 *
echo *********************
echo 删除操作前存在的sql文件
forfiles /p "D:\MySQLCopy_File" /s /m *.sql
echo =============================

rem 删除sql文件操作
forfiles /p "D:\MySQLCopy_File" /s /m *.sql /d -7 /c "cmd /c del /q /f @path"

echo 删除操作后存在的sql文件
forfiles /p "D:\MySQLCopy_File" /s /m *.sql
echo =============================

rem 不关闭窗口操作
rem pause>nul 表示命令窗口不会出现“请按任意键继续”
rem pause>nul

rem 关闭窗口
@echo 数据库备份操作完成,5秒后关闭程序...
ping /n 5 127.1 >nul
exit

2、脚本处理文件解析

  • set:用于设定参数
  • echo:该命令用于在控制台输出文字信息,更具体可百度了解。
  • rem:该命令为注释作用,不会在控制台显示
  • forfiles:该命令对文件进行操作,可参考文章:forfiles命令详解;或自行百度了解
  • mysqldump:数据库备份命令,上面有介绍
  • set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%这里可自行百度了解
  • 如果不想关闭窗口,可以使用pause>nul命令(把前面的rem删除即可),并把最后三行代码rem注释掉或删掉

3、脚本需要更改处

  • set ipconfig=192.168.2.201
    • 更改为自己的ip地址
  • cd D:\MySQL\bin
    • 更改为自己MySQL所在的安装位置
    • 进入这个目录之前一定要先进入这个目录所在的系统盘;如果是在C盘,则D:\MySQL\bin命令的上一行D:改为C:
  • mysqldump -uroot -proot school > "D:\mysql_backup\shop%ipconfig%_%nowdate%.sql"
    • 可参考mysqldump命令
    • 高亮部分需要更改,第一处root为账号,改为自己mysql数据库的账号
    • 高亮部分需要更改,第二处root为密码,改为自己mysql数据库的密码
    • 高亮部分需要更改,第三处school为数据库名,改为需要备份的数据库名称
    • 高亮部分需要更改,第四处为备份文件保存的路径,改为需要保存的位置
  • D:\MySQLCopy_File
    • 这里所有的这个地址均要改为自己的保存地址
  • forfiles /p “D:\MySQLCopy_File” /s /m *.sql /d -7 /c “cmd /c del /q /f @path”
    • -7为删除7天前的sql文件;要删除几天前的sql文件,只需要将7改为指定天数

4、脚本执行乱码错误

如果出现乱码错误,可以使用文档编辑.bat文件,选择功能另存为,选择编码格式为ANSI

如果还是出现中文乱码,可以文件内容最顶部加入以下代码,即@echo off这一行代码上面

rem 标注为使用936编码格式编译中文

chcp 936

@echo off

三、Windows定时任务

按图索骥

windows mysql 备份,数据库,数据库,mysql,windows,经验分享


进入管理页面,选择任务计划程序

windows mysql 备份,数据库,数据库,mysql,windows,经验分享


如果没有MySQL文件夹则新建一个,在MySQL文件夹下创建任务

windows mysql 备份,数据库,数据库,mysql,windows,经验分享


输入任务名称和描述

windows mysql 备份,数据库,数据库,mysql,windows,经验分享


选择每天(这个看自己需要)

windows mysql 备份,数据库,数据库,mysql,windows,经验分享


选择开始时间(我这里是每天早上九点半)

windows mysql 备份,数据库,数据库,mysql,windows,经验分享


操作选择“启动程序”

windows mysql 备份,数据库,数据库,mysql,windows,经验分享


点击浏览,选择上面你创建好的.bat脚本文件,之后下一步、完成即可

windows mysql 备份,数据库,数据库,mysql,windows,经验分享


创建完成之后就可以在定时任务的列表看到自己创建好的定时任务了,每天早上九点半自动开始备份命令中定义的数据库

windows mysql 备份,数据库,数据库,mysql,windows,经验分享

借鉴链接

MySQL 数据库定时备份的几种方式(非常全面)

mysql数据库自动备份(Windows版)


更多知识持续更新中!!!


声明

借鉴部分均注明了原文出处,可在文章的借鉴链接处获取原文出处

文中若内容有涉及原版权,请邮件联系elvin-chen@qq.com,涉及的相关文章或内容将会及时更改或取消发布文章来源地址https://www.toymoban.com/news/detail-775168.html

到了这里,关于Windows下自动备份MySQL数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql自动备份多个数据库

    1.编写mysql自动备份shell脚本,比如在/opt/data/backup/sh路径下创建文件 mysql_backup.sh 2.为文件添加执行权限: 3.检查shell脚本编写是否有误 这里可分成2步,第1步,执行mysql备份命令: 注意将上面的变量替换为真实值,存放目录需真实存在。如果能备份成功,且将数据输出到备份的

    2024年02月17日
    浏览(48)
  • 精准备份:如何自动化单个MySQL数据库的备份过程

    自动化备份对于维护数据库的完整性和安全性至关重要。本指南将向您展示如何使用Shell脚本来自动化MySQL数据库的备份过程。 首先,这是我们将使用的备份脚本: 1. 保存脚本 将上面的脚本保存到服务器上,比如命名为 db_backup.sh : 粘贴脚本内容到编辑器中,然后保存并退出

    2024年04月11日
    浏览(47)
  • Docker容器MySQL数据库的备份与还原,以及每天定时自动备份.

    根据自己需要,我这个是Debian的5.7版本的镜像。 这个地方一定要注意: 有些版本的docker镜像里面移除了MySQL自带的工具。包括Mysqlbinlog,Mysqlcheck等。所以即使你开启了binlog,也是没有办法还原数据的,这里要注意一下镜像的选择。 mkdir三个文件夹,方便持久化。 /home/mysql/c

    2024年02月05日
    浏览(69)
  • windows下使用mysqldump备份数据库并上传到阿里云OSS

    powershell 下使用 | Out-file -Encoding utf8 设置字符格式 cmd 参数说明 --single-transaction 不阻塞程序的情况下保证导出数据一致性,InnoDB 支持 --default-character-set 设置字符集 --hex-blob 转换 bit 类型 --routines 导出存储过程以及自定义函数 --events 导出事件 下载 ossutil 工具:下载并安装命令

    2024年04月08日
    浏览(35)
  • windows安装数据库MySQL

    下载地址:https://dev.mysql.com/downloads/mysql/ ( 解压完成后没有data文件夹和mys.ini文件 ) 步骤:设置 系统 关于 高级系统设置 环境变量 找到系统变量下的Path 编辑 新建D:ProgramsMySQLmysql-8.0.31-winx64bin 点击三个确定关闭窗口。 在D:Programsmysql-8.0.30-winx64文件夹下新建名为mys.ini文件

    2024年02月08日
    浏览(58)
  • Windows下重启MySQL数据库

    本文介绍三种方法,简单有效,不需要太多麻烦的代码。 准备工作:先打开 service服务应用。 关于service服务应用的启动方式,可以推荐看这篇文章。或者搜索:Windows打开服务 http://t.csdn.cn/SeSjc 这里介绍方便的一种:win+R组合键,弹出运行窗口, 输入  services.msc 然后

    2024年02月02日
    浏览(46)
  • mysql数据库 windows迁移至linux

    1.打开navicat,选择一个数据库进行操作: 之后文件会保存为一个xxx.sql文件,之后打开xftp,把生成的sql放进一个文件夹中( /home/dell/linuxmysql ): 之后登录mysql数据库,并创建一个新的数据库,然后把刚刚的数据导入到新的数据库中: 如果出现下面情况说明数据库已经成功导入

    2024年02月07日
    浏览(67)
  • Mysql数据库默认端口修改,Windows版

    前言 :本文使用系统环境是Win10;Mysql版本8.0后;本文讲解修改服务端端口,客户端默认连接端口!。 PS:如下默认端口为3306我直接修改为43120, 一个是serve端口,一个是client默认连接端口,同时还要修改一下client端口,不然连接的时候就需要指定端口。如cmd会使用client默认端

    2024年02月11日
    浏览(69)
  • Windows远程连接linux中mysql数据库

     我没有mysql并且没有把mysql配置到环境变量中,所以现在我要下载mysql Mysql官网下载地址:https://downloads.mysql.com/archives/installer 1. 选择设置类型 双击运行mysql-installer-community-8.0.26.msi,这里选择是开发者默认模式,所以直接选择“Developer Default”,点击“Next”      默认3306的端

    2024年02月12日
    浏览(46)
  • C++ mySQL数据库连接池(windows平台)

    新手学了C++多线程,看了些资料练手写了C++数据库连接池小项目,自己的源码地址 MySQL数据库编程、单例模式、queue队列容器、C++11多线程编程、线程互斥、线程同步通信和 unique_lock、基于CAS的原子整形、智能指针shared_ptr、lambda表达式、生产者-消费者线程模型 为了提高MySQL数

    2024年03月09日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包