mysqldump备份还原数据库(日常记录)

本文介绍了如何使用批处理脚本(bat)和Visual Basic Script(vbs)来备份和还原MySQL数据库,以解决第三方软件备份失败的问题。通过设置时间戳生成备份文件名,使用mysqldump命令进行备份,并通过任务计划实现自动化。同时,文章还解决了在备份和还原过程中遇到的中文乱码问题。

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

这两天服务器不知道什么原因,数据库第三方软件备份经常失败,因而考虑换个方式。

基于bat备份数据。个人比较喜欢,原因是不必依赖第三方软件,而且操作简单,自定义也很方便。


数据库:ddhost

mysql用户名:root

密码:hhhh

1、新建bat:

(1)生成一个时间戳,例如20160428;

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

(2)保存备份文件的根目录

set "base_dir=E:\BACK\"

(3)生成一个当天备份文件保存的目录

set "back_up_dir=%base_dir%ddhost_%Ymd%"

(4)创建一个目录

md "%back_up_dir%"

(5)使用mysqldump备份sql

cd C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump -h localhost --single-transaction --ignore-table=ddhost.T_SYS_FILE --ignore-table=ddhost.T_SYS_FILE2 -uroot -phhhh --default-character-set=utf8 ddhost > "%back_up_dir%"\ddhost.sql

注:因为有两张表情况比较特殊,不需要备份。基于此,排除这两张表使用【--ignore-table=db_name.table_name】;成功备份后发现中文出现乱码,百度了一下,可使用【--default-character-set=utf8】。


至此,完成备份数据库的bat编写完成。接下来就是考虑定时执行的问题啦~~windows可以设置任务计划,把这个bat放到任务计划里面即可。


在执行bat过程中,mysql的用户名/密码都被暴露了出来,那么能不能让bat在后台偷偷跑呢??关于这个问题,网上给出了很多答案,这里记录其中一种:

2、新建一个vbs文件;

(1)在文件内加入:createobject("wscript.shell").run "E:\mysql_back\mysql_backup.bat",0;

注:E:\mysql_back\mysql_backup.bat是备份数据库的bat的路径!!

(2)把该vbs文件加入到任务计划。


在操作过程中还发现一个问题:把备份好的sql还原到数据库提示中文乱码,关于这个问题也在网上找到了方案,以下是完整的还原语句:

>mysql -hlocalhost --default-character-set=utf8 -uroot -phhhh ddhost3 < E:\BACK\ddhost_20160428\ddhost.sql


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值