手动备份禅道3.0 MYSQL数据库

来源:互联网 发布:linux下tomcat自启动 编辑:程序博客网 时间:2024/06/10 08:15

故事是这样的。公司的项目用的是禅道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.sqlpause

导出后把 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 offset USER=rootset PW=123456set DBName=zentao@if not exist zentao.sql del zentao.sql@copy /y D:\zentao.sql D:\xampp\mysql\bin\ > nulecho ----------------- 开始导入 -----------------mysql -u%USER% -p%PW% -e "drop database If Exists "%DBName%;echo Drop database %DBName% successmysql -u%USER% -p%PW% -e "create database If Not Exists "%DBName%" Character Set UTF8";echo Create database %DBName% successmysql -u%USER% -p%PW% --default-character-set=utf8  zentao < %DBName%.sqlecho 导入数据库 %DBName% 成功!echo -------------------------------------------- pausegoto :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

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

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

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


0 0
原创粉丝点击