windows下的mysql数据备份管家

问题描述

最近我的电脑mysql老出问题,怕数据库不保,于是对数据库设置了自动备份

基础知识

一、使用mysqldump命令备份
mysqldump命令的原理就是将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。紧接着将表中的所有记录转换成一条INSERT语句,通过这些语句创建表并插入数据。

mysqldump基本语法:

mysqldump -u username -p dbname table1 table2  > BackupName.sql   //备份单个数据库
mysqldump -u username -p --databases dbname2 dbname2 > BackupName.sql  //备份多个数据库
mysqldump -u username -p --all-databases > BackupName.sql     //备份全部数据库

其中:

  • dbname参数表示数据库的名称。
  • table1和table2参数表示需要备份的表的名称,为空则整个数据库备份。
  • BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。

使用root用户备份mysql数据库下的user表至B盘

mysqldump -u root -p mysql user > B:\backup.sql

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

二、备份文件的恢复
还原使用mysqldump命令备份的数据库的语法如下:

mysql -u root -p dbname< B:\backup.sql  //恢复指定数据库
mysql -u root -p < B:\backup.sql	//恢复整个数据库

使用root用户恢复B盘下的backup.sql至mysql数据库
在这里插入图片描述

解决方案

一、新建一个txt文件,后缀改为bat
二、在bat文件下写入如下文件内容,具体路径按照自己实际来

@echo off

forfiles /p "你想备份的路径" /m test_backup_*.sql -d -10 /c "cmd /c del /f @path"  //删除备份路径下的过期备份,我设置为10,也就是删除10天以前的备份

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
"你的安装路径\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=你的密码 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --all-databases >你想备份至的路径\Mysql_Backup_%Ymd%.sql

@echo on

以下是我的备份路径供参考

@echo off

forfiles /p "B:\environment\Mysql_Backup" /m test_backup_*.sql -d -10 /c "cmd /c del /f @path"

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
"B:\environment\MySql\mysql-8.0.16-winx64\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --all-databases >B:\environment\Mysql_Backup\Mysql_Backup_%Ymd%.sql

@echo on

三、双击运行bat脚本,查看效果在这里插入图片描述

四、ok,大功告成,整个数据库就备份下来了,效果完美具体到秒。接下来将脚本加入windows任务计划程序,右击此电脑选择管理并执行如下操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
相关文章:解决解决ERROR 1130: Host ‘localhost‘ is not allowed to connect to this MySQL server

参考文献

https://www.cnblogs.com/kissdodog/p/4174421.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值