-- 闲的没事儿,献上我的“My SQL 分库备份”脚本 --

luoyoumou 2011-08-22 10:23:36
加精
-- 看到这个贴子非常实用,同时我也将我的解决方法贴上,希望对您有所帮助!

http://topic.csdn.net/u/20110817/18/2316517f-25a6-410b-b557-587d4369d833.html
http://topic.csdn.net/u/20110817/16/22164a37-773f-47f3-973f-8bdca3cd7f69.html


-- 还是分库备份,但是:要是我要在五六十个数据库中排除指定数据库不备份呢?
-- 你这个for 循环是不是还得加逻辑判断去控制,

-- 而我先用SQL语句去得到当前的所有数据库的名字,同时构建备份语句,
-- 那么我是不是可以更灵活的在SQL语句中去排除指定的数据库不备份呢?
-- 我想:这也是我的方法较你的方法的更为灵活之处!

---- Windows下My SQL自动按库备份所有数据库:

-- 假设我将每天的备份文件备份于 D:\mysql_bk\20110818 目录下(注:20110818是当天备份时的日期)

-- Step 1: 在 D:\mysql_bk 目录下创建一个 mysql_bk.sql 文件,其内容如下:

SELECT t.bk_sql
FROM (
SELECT concat('if exist "','D:\/mysql_bk\/',date_format(CURDATE(),'%Y%m%d'),
'" rmdir /s /q "D:\/mysql_bk\/',date_format(CURDATE(),'%Y%m%d'),'"') as bk_sql, 1 as cmd_order
UNION ALL
SELECT concat('md "','D:\/mysql_bk\/',date_format(CURDATE(),'%Y%m%d'),'"') as bk_sql, 2 as cmd_order
UNION ALL
SELECT concat('mysqldump -uroot -pgroupon1@3$ ',SCHEMA_NAME,' > ',
'"','D:\/mysql_bk\/',date_format(CURDATE(),'%Y%m%d'),
'\/',SCHEMA_NAME,'_',date_format(CURDATE(),'%Y%m%d'),'.sql','"') as bk_sql, 3 as cmd_order
FROM information_schema.SCHEMATA ) t
ORDER BY t.cmd_order asc
into outfile 'D:/mysql_bk/mysql_dump.bat';

-- Step 2: 在 D:\mysql_bk 目录下创建一个 mysql_bk.bat 文件,其内容如下:

if exist "D:\mysql_bk\mysql_dump.bat" del /s /q "D:\mysql_bk\mysql_dump.bat"

mysql -uroot -pgroupon1@3$ information_schema < D:\mysql_bk\mysql_bk.sql
call D:/mysql_bk/mysql_dump.bat /c /q

-- Step 3: 创建一个任务计划,每天凌晨 2:00 执行 mysql_bk.bat 文件即可


-- 本文亮点 批处理 + 灵活析取不要备份的数据库
...全文
3247 77 打赏 收藏 转发到动态 举报
写回复
用AI写文章
77 条回复
切换为时间正序
请发表友善的回复…
发表回复
waterxcfg304 2011-08-31
  • 打赏
  • 举报
回复
3KS,收藏,学习.....
zhenshangzhengren 2011-08-31
  • 打赏
  • 举报
回复
标记一下有时间来来慢慢看了
Hausen-Kwok 2011-08-31
  • 打赏
  • 举报
回复
收藏...
zmen0502 2011-08-30
  • 打赏
  • 举报
回复
好贴,收藏!
zmen0502 2011-08-30
  • 打赏
  • 举报
回复
楼主威武啊!
2399 2011-08-29
  • 打赏
  • 举报
回复
学习ing
a86010 2011-08-29
  • 打赏
  • 举报
回复
学习ing,嘿嘿
duoduo1881 2011-08-27
  • 打赏
  • 举报
回复
谢谢小 好东西
天使爱依婷 2011-08-27
  • 打赏
  • 举报
回复
我来学习一下。
caizhongda 2011-08-27
  • 打赏
  • 举报
回复
谢谢分享。。学习学习
智障牛蛙 2011-08-27
  • 打赏
  • 举报
回复
学习了,非常感谢,帮顶~!
狂想者 2011-08-27
  • 打赏
  • 举报
回复
学习了,顶一下!!!!!
q652820916 2011-08-26
  • 打赏
  • 举报
回复
收藏了。正需要这个功能
liguiju 2011-08-26
  • 打赏
  • 举报
回复
分享精神永流传,呵呵
yufenfei2011 2011-08-26
  • 打赏
  • 举报
回复
学习了
izard999 2011-08-26
  • 打赏
  • 举报
回复
学习了!
谢谢LZ分享
sunny_dongqin_zhou 2011-08-26
  • 打赏
  • 举报
回复
不错不错,好好学习下!!
哈特比尔波 2011-08-26
  • 打赏
  • 举报
回复
一直在Windows下都没有使用过mysql原来还有这么一种方法。见新东西了。
happy到永远 2011-08-26
  • 打赏
  • 举报
回复
学习。
jishing 2011-08-26
  • 打赏
  • 举报
回复
呵呵,学习一下!
加载更多回复(55)

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧