[笔记]使用mysqldump 批量备份 mysql数据库 for windows
2010-03-06 14:45
597 查看
使用asp文件生成备份脚本
对应设置IIS用户,需要有读取mysql文件夹的权限
生成脚本 backup_mysql.bat 可以设置windows的任务计划来定时自动执行备份。
备注:
mysql中mysqldump用户权限
mysql中mysqldump是用来导出数据用的
如果需要特定的用户来完成导出工作
那至少需要 Select和LOCK TABLES 两个权限
mysql备份的最直接的方法,直接拷贝数据库文件
直接拷贝数据文件最为直接、快速、方便,但缺点是基本上不能实现增量备份。为了保证数据的一致性,需要在备份文件前,执行以下 SQL 语句:
FLUSH TABLES WITH READ LOCK;
也就是把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入。这种方法备份出来的数据恢复也很简单,直接拷贝回原来的数据库目录下即可。
对应设置IIS用户,需要有读取mysql文件夹的权限
<% '----------mysqldump用户名 root = "root" '----------密码 pwd = "123456" '----------mysql mysqldump 文件所在位置 mysql_bin_path = "D:/mysql/bin" '----------mysql目录(本地路径) mysql_path = "D:/mysql" '----------mysql备份临时存放目录(本地路径) mysq_back_temp_path = "D:/mysqlbackuptemp" '----------mysql备份存放目录(本地路径) mysq_back_path = "D:/mysqlbackup" '----------winrar所在目录 winrar_path = "D:/WinRAR" '----------备份脚本 back_content = "" back_content = back_content & left(mysql_bin_path,2) & vbCrLf back_content = back_content & "cd " & mysql_bin_path & vbCrLf '----------压缩脚本 rar_content = "" rar_content = rar_content & left(winrar_path,2) & vbCrLf rar_content = rar_content & "cd " & winrar_path & vbCrLf '遍历mysql数据库 Set fso = server.CreateObject("scripting.filesystemobject") Set w1 = fso.getfolder(mysql_path) For Each bak In w1.SubFolders If FolderPermission(bak.Path) then 'mysqldump back_content = back_content & "mysqldump -u" & root & " -p" & pwd & " " & bak.name & ">" & mysq_back_temp_path & "/" & bak.name & ".sql" & vbCrLf 'rar rar_content = rar_content & "rar a -agYYYY-MM-DD -ep1 -df -ibck " & mysq_back_path & "/" & bak.name & ".rar " & mysq_back_temp_path & "/" & bak.name & ".sql" & vbCrLf End If Next Set fso=Nothing FileContent = back_content & vbCrLf & rar_content '创建备份文件 response.write("创建MYSQL备份文件") Call CreateFile("/backup_mysql.bat",FileContent) Function FolderPermission(pathName) '需要过滤的目录(不列在SiteMap里面) PathExclusion = Array("guolv") Folderpermission =True for each PathExcluded in PathExclusion if instr(ucase(pathName),ucase(PathExcluded))>0 then Folderpermission = False exit for end if next End Function '创建文件 Function CreateFile(FileName, ContentStr) Set fso = CreateObject("Scripting.FileSystemObject") Set txtFile = fso.CreateTextFile(Server.MapPath(FileName),True) txtFile.Write(ContentStr) txtFile.Close Set fso = Nothing End Function %>
生成脚本 backup_mysql.bat 可以设置windows的任务计划来定时自动执行备份。
备注:
mysql中mysqldump用户权限
mysql中mysqldump是用来导出数据用的
如果需要特定的用户来完成导出工作
那至少需要 Select和LOCK TABLES 两个权限
mysql备份的最直接的方法,直接拷贝数据库文件
直接拷贝数据文件最为直接、快速、方便,但缺点是基本上不能实现增量备份。为了保证数据的一致性,需要在备份文件前,执行以下 SQL 语句:
FLUSH TABLES WITH READ LOCK;
也就是把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入。这种方法备份出来的数据恢复也很简单,直接拷贝回原来的数据库目录下即可。
相关文章推荐
- MySql数据库备份与恢复——使用mysqldump 导入与导出方法总结
- PuTTY使用笔记:登录设置的批量备份导出/导入
- 浅谈mysqldump使用方法(MySQL数据库的备份与恢复)
- 使用MySQLDump来备份MySQL数据库及常用的导入导出语句
- MySQL的备份与恢复简介和使用mysqldump备份MySQL数据库
- Linux下通过java备份mysql数据库,使用mysqldump
- mysqldump使用方法(MySQL数据库的备份与恢复)
- mysqldump工具使用帮助文档(mysql数据库备份)
- 使用MYSQL数据库备份指令MYSQLDUMP备份bugzilla数据库
- 使用mysqldump进行mysql数据库备份还原
- PuTTY使用笔记:登录设置的批量备份导出/导入
- 使用mysqldump备份MySQL数据库
- 使用mysqldump进行Mysql数据库备份恢复
- mysqldump使用方法(MySQL数据库的备份与恢复)
- 使用 mysqldump 备份MySQL数据库
- [ZT]PuTTY使用笔记:登录设置的批量备份导出/导入
- 使用mysql数据库的mysqldump实现自动备份
- Linux中使用mysqldump对MySQL数据库进行定时备份
- 使用mysql数据库的mysqldump实现自动备份
- 使用mysqldump模拟生产环境实现mysql数据库的备份与还原