Redmine数据库备份及搬家

发表于:2018-7-20 16:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:BarryW    来源:博客园

  Bitnami Redmine的备份分2种方式:
  1.导出数据库
  2.整个目录搬家
  不管是哪种都想停掉服务,redmine相关的服务有以下5个:
  redmineApache
  redmineMySQL
  redmineSubversion
  redmineThin1
  redmineThin2
  可以打开windows服务控制面板,然后停掉上面的5个服务,或者去BitNami Redmine的安装目录,双击use_redmine.bat,然后在弹出的控制台种输入:
  servicerun.bat  STOP

  1. 导出数据库的方式
  然后启动redmineMySQL,这是因为我们要使用redminesql,其实如果上面步骤中,如果你是在windows服务控制面板种手动停服务,
  你可以停掉其他4个服务,而保留redminesql服务。
  双击use_redmine.bat,在弹出的命令行窗口种输入:
  mysqldump -u root -p bitnami_redmine > backup.sql

  这样整个redmine系统的数据都会被备份到backup.sql数据库文件中了,这个文件就在redmine的根目录下面。
  注意这里root的密码和你admin的密码是一样的。
  接下来就是在新的服务器上安装新的redmine,然后导入刚才的backup.sql数据库文件就可以了。
  2. 整个目录搬家
  停掉所有服务后,拷贝整个BitNami Redmine Stack目录到新的服务器。
  注意这种方式下,redmine在新的服务器上的路径一定要和旧服务器上的路径一致,例如:旧的安装在,c:\program files\BitNami Redmine Stack
  那么你一定需要将BitNami Redmine Stack拷贝到新服务器的c:\program files目录下面。
  然后双击use_redmine.bat,在弹出的命令行窗口种输入:
  serviceinstall.bat  INSTALL
  如果成功的话,你去看看上面列出的服务都为启动状态。
  这样就完成了redmine的备份了。
  Linux备份:
  1. 准备工作Ruby gem依赖包及数据库都做好了,开始真正配置Redmine的安装:
  配置Redmine数据连接
  Copy config/database.yml.example config/database.yml
  Vim config/database.yml
  production:
  adapter: mysql2   //如果用的Ruby是1.9版本,一定要写mysql2
  database: redmine
  host: localhost
  username: redmine
  password: my_password

  注:官方原文提示MySQL database using ruby1.9 (adapter must be set to mysql2)  请注意,我开始没注意,后面rake时,老是提示数据库adapter没有安装。
  创建sessin存储脚本
  rake generate_secret_token
  会产生config/initializers/secret_token.rb
  创建数据库结构:[root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate
  rake aborted!
  Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter)
  解决办法:
  gem uninstall mysql2
  gem install mysql2 -v"0.3.11"
  [root@redmine redmine-2.0.0]# RAILS_ENV=production rake db:migrate
  rake aborted!
  Please install the mysq2 adapter: `gem install activerecord-mysq2-adapter` (cannot load such file -- active_record/connection_adapters/mysq2_adapter)

  此处吃了暗亏,请具体查看database.yml确认adapter为mysql2而不是mysl2
  创建数据库结构:
  RAILS_ENV=production rake db:migrate
  插入默认的配置数据:
  [root@redmine redmine]# RAILS_ENV=production rake redmine:load_default_data
  Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] zh
  ====================================
  Default configuration data loaded.
  创建相关目录
  [root@redmine redmine]# mkdir tmp public/plugin_assets
  mkdir: 无法创建目录 “tmp”: 文件已存在
  [root@redmine redmine]# chmod -R 755 files log tmp public/plugin_assets
  [root@redmine redmine]#
  测试3000环境
  [root@redmine redmine]#ruby /opt/redmine/script/rails server webrick -e production
  通过Aapche访问redmine
  后台运行Redmine
  nohup ruby script/rails server webrick -e production &
  在Apache配置文件中添加一个虚拟主机
  <VirtualHost *:80>
  ServerName redmine.company.com
  ProxyPass / http://localhost:3000/
  ProxyPassReverse / http://localhost:3000/
  </VirtualHost>

  备份和恢复
  备份和恢复 是企业应用中永远存在的话题.
  Redmine的用户和问题等信息存储于Mysql数据库,表名为redmine而附件等资源存储于Redmine安装目录的files目录下.
  因此需要迁移的话只需要备份Mysql数据库的对应的表和files目录即可。
  1.备份mysql数据库。
  查看redmine-3.0.3-0\apps\redmine\htdocs\config\database.yml
  记住production字段的username、password及database。
  然后控制台root权限执行:mysqldump -u <username> -p <database> >/redmine_bak.sql
  输入:<password>
  然后是备份附件。
  $ cd redmine
  $ tar cvzf /var/files_bak.tar.gz ./files/
  2、Redmine恢复
  附件库恢复
  直接将备份的/var/files_bak.tar.gz解压缩到/redmine/files目录下即可
  Mysql恢复
  在root用户下运行:
  $ mysql -u <username> -p <host> <database> < redmine_bak.sql
  输入:<password>
  3、恢复完毕后启动Redmine,
  $ cd redmine
  $ ruby script/server -e production
  如果页面有乱码,可编辑redmine/mysql/config/database.yml,将production字段的encoding注释掉即可。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号