手动备份禅道3.0 MYSQL数据库

故事是这样的。公司的项目用的是禅道3.0,老到连按日期查寻需求都不能实现。资料所了一堆,但项目在用,就还是只能接着用。

说实现禅道的用的有点乱,需求当也没有分版本、计划、平台。

一通乱提就跟下单似的。


然后领导要看数据,禅道里查不到只能自己去查数据库。问题来了,还不能直接连到服务器上的mysql 只给了个3386。

我也不敢乱动,只能上去导出数据库,拿回本地再导入。

然后本用 Navicat Premium 连本机的mysql。(当然你也可以用任何你喜欢的工具)

这里题外话,一开始觉得没有MSSQL SERVER 那种可视创建 sql 语句的功能会很难用,结果玩了一下,发现出错的情况反而比当年用MSSQL的次数少。反正在就是用的满顺手的。有可能是代码美化功能不错,自动提示功能比较完善了。当然也有可能是当年是新手刚开始学SQL边学边用很多东西不懂。现在起码知道自己要做什么,不记得的东西顺手一搜马上就能搞定。好了YY完了。

当然直接用phpmysqladmin 也可以实现导出导入的,不过还是得点一堆东西不是。

写两处批处理用起来还是舒服些。


还有个问题要补充下,因为是上3386所以,导出了我还得拿到自己的电脑上才能用不是。原来 【远程桌面】有这个功能的。展开【选项】,切到【本地资源】(这里勾上剪切板可以方便复制),打开【详细信息】,在驱动器下选个盘共享就行了。

这样登到服务器上后,可以网络访问本地这个盘。


下面是具体内容了:

=====================================================================================

一 导出数据库

服务器的禅道放在c盘,所以

C:\xampp\mysql\bin\Export.bat

mysqldump -u root -p zentao > zentao.sql
pause

导出后把 zentao.sql 复制到共享的驱动器上。回到本机(本机我共享的是D盘),把  zentao.sql 复制到 mysql 的bin 下方便操作


然后先用Navicat Premium连上 mysql 先把现有 zentao 数据库删了。(我也不知道不删会出啥错,网上说导数据时都这样做的。在没搞清楚前,还是留着吧。要是以后知道没有鸟用,我再删。没删直接导我也看了,没看出啥不同

<del>mysql drop database If Exists zentao;
create database If Not Exists zentao Character Set UTF8;</del>


二 导入数据库

接下来这里已经放好了批处理。直接运行就OK了。

1、先删掉已有的 zentao.sql

2、从D 盘拷到 D:\xampp\mysql\bin\ 

3、mysql 执行 sql 如果 数据库 zentao 在就删除。

4、创建数据库 zentao

5、导入服务器上拿来的  zentao.sql (中间设置utf8这段,不设置就会出编码相关的问题导致导入失败)

D:\xampp\mysql\bin\Import.bat

@echo off
set USER=root
set PW=123456
set DBName=zentao

@if not exist zentao.sql del zentao.sql
@copy /y D:\zentao.sql D:\xampp\mysql\bin\ > nul

echo ----------------- 开始导入 -----------------

mysql -u%USER% -p%PW% -e "drop database If Exists "%DBName%;
echo Drop database %DBName% success

mysql -u%USER% -p%PW% -e "create database If Not Exists "%DBName%" Character Set UTF8";
echo Create database %DBName% success

mysql -u%USER% -p%PW% --default-character-set=utf8  zentao < %DBName%.sql
echo 导入数据库 %DBName% 成功!

echo -------------------------------------------- 
pause
goto :eof

顺便说一下,改root密码的sql

mysql -u root -p 
use mysql 
update user set password=PASSWORD('123456') where host = 'localhost' and user = 'root';
flush privileges;

登陆mysql -p后是直接密码的不用加空格。因为初始是空的,所以这里-p后没东西。

选择数据库

改密码

刷新权限


三 查寻结果

最后运行下面的查寻。结果就出来(条件里的日期按自己需要的改下)

Navicat Premium 这一点上很好,创建的 Query 会存在我的文档里:

D:\用户目录\我的文档\Navicat\MySQL\servers\禅道\zentao\需求 by 创建日期.sql

就算是删除数据库也没关系,下次创建好后。它还在哪。

SELECT
	id AS 编号,
	pri 优先级,
	(SELECT	NAME	FROM	zt_module	WHERE	id = module	) AS 所属模块,
	title 需求名称,
	(SELECT spec FROM	zt_storyspec WHERE	story = id and version = (SELECT max(version) FROM zt_storyspec WHERE story = id)) as 需求描述,
	STATUS 当前状态,
	-- stage 所处阶段,
	(SELECT	realname	FROM	zt_user	WHERE	account = openedBy	) AS 由谁创建,
	DATE(openedDate) 创建日期,
	-- assignedTo 指派给,
	DATE(assignedDate) 指派日期,
-- lastEditedBy 最后修改,
	(SELECT	realname	FROM	zt_user	WHERE	account = lastEditedBy	) AS 最后修改,
	DATE(lastEditedDate) 最后修改日期,
-- closedBy 由谁关闭,
	(SELECT	realname	FROM	zt_user	WHERE	account = closedBy	) AS 由谁关闭,
	DATE(closedDate) 关闭日期,
-- 	reviewedBy 由谁评审,
-- 	(SELECT	realname	FROM	zt_user	WHERE	account = reviewedBy	) AS 由谁评审,
	DATE(reviewedDate) 评审时间,
	source 需求来源,
	closedReason 关闭原因,
	duplicateStory 重复需求
FROM
	zt_story
WHERE
	DATE(closedDate) >= '2016-01-30'
AND DATE(closedDate) <= '2016-02-02'
AND STATUS = 'closed'
AND stage = 'released'

导出的设置也可以保存的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑虾

多情黯叹痴情癫。情癫苦笑多情难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值