一 背景介绍
1.什么是Redmine
Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统。
我们用Redmine 主要是用于 Bug 管理流程,包括新建、已解决、反馈、关闭等状态。
2.事情起因
有一次服务器自动关机,再次重启后发现redmine 的redmine thin1 和thin2 两个服务启动不起来,导致登录页面提示异常,如下图。
二 处理过程
1.启动两个服务
首先出现上图中报错,排查发现redmine thin1 和thin2这两个服务需要重新启动,启动可以在系统服务里启动,也可以在redmine 自带的工具manager-windows.exe 里启动,如下图,启动完成后又失败。
现象是 启动大概5-6 s 又恢复失败状态。
2.查看报错日志
在logs 下查看error 日志,提示“由于目标计算机积极拒绝,无法连接。 : AH00957: HTTP: attempt to connect to 127.0.0.1:3002 (127.0.0.1) failed”
在网上查看说是有可能进程占用
3.查看端口占用情况
Cmd 输入 netstat
netstat -ano | findstr 3001 查看特定端口号进程。
查看网络端口情况,没有3001,所以不是端口占用,是端口没启用起来。
4.删除、下载插件
继续往下排查,有说是插件问题,需要卸载再安装,可参考下面的链接
https://www.manongdao.com/article-1683782.html
经过这一番操作,已精疲力尽,时间已经过去3小时,最后决定放弃重新安装
5.数据库备份恢复
当时解决这个问题的时候就想重新安装,但是设计到数据库怕把数据弄坏、弄丢,没敢尝试
有几个点需要注意一下 :
1)首先这个文件怕卸载不干净,最好的办法 换一个新环境。
2)还原数据之前,把原来数据库进行备份 以防意外。
三 数据库迁移-工具
1.Mysql-Front
一款数据库连接工具,很好用,备份、还原比navicat 、dbeaver 简单。
2.备份操作
首先进行数据库连接,连接成功后如下图,找到数据库右键->export ->SQL
3.还原操作
新环境连接数据库,对着刚才新建的数据库,右键选择“Import”(中文对应 导入/输入),选择“SQL File”(中文对应 SQL文件)
4.文件迁移
我只迁移了文件,插件未进行迁移,暂时没有什么问题,文件不迁移bug 记录里的图片不能打开。
文件附件迁移(旧服务器)
将 /apps/redmine/htdocs/files 下的所有文件打包,并拷贝至新服务器相同目录即可。
插件迁移(旧服务器)
将 /apps/redmine/htdocs/plugins 下的所有文件打包,,并拷贝至新服务器相同目录即可
四 回顾总结
1.问题处理的思路,经过这些年的工作,一个不太熟悉的问题,可以浅尝一下处理问题,处理不成,最快的方式就是重新卸载、安装。
2.dbeaver数据库导出、导入sql 麻烦,建议使用Mysql-Front 或者navicat 也可以。
3.数据库备份还原时 ,最好找一台新机器安装文件 。
4.最后Bug管理工具不推荐使用redmine ,可以使用开源软件禅道,里面不仅可以有bug 管理流程,也有项目管理,后期的各种数据统计、工作表格也很便利。
作者:MT.