Redmine数据库备份及搬家
Bitnami Redmine的备份分2种方式:
1.导出数据库
2.整个目录搬家
不管是哪种都想停掉服务,redmine相关的服务有以下5个:
redmineApache
redmineMySQL
redmineSubversion
redmineThin1
redmineThin2
可以打开windows服务控制面板,然后停掉上面的5个服务,或者去BitNami Redmine的安装目录,双击use_redmine.bat,然后在弹出的控制台种输入:
1 |
servicerun.bat STOP |
1. 导出数据库的方式
然后启动redmineMySQL,这是因为我们要使用redminesql,其实如果上面步骤中,如果你是在windows服务控制面板种手动停服务,
你可以停掉其他4个服务,而保留redminesql服务。
双击use_redmine.bat,在弹出的命令行窗口种输入:
1 |
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,在弹出的命令行窗口种输入:
1 |
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注释掉即可。
Redmine数据库备份及搬家的更多相关文章
- magento数据库备份导入还原
Magento数据库备份.移植终极解决方案+3 分类:Magento教程 标签:magento搬家.magento数据库备份.magento更换域名.magento移植 4,355人浏览 作为电子商务 ...
- backup1:开始数据库备份
数据库备份分为数据文件备份和日志文件备份,数据文件的备份分为:完整备份和差异备份.在SQL Server 2012中,能够将数据分布式备份到不同的存储设备上,一般情况,只将数据备份到一个备份文件(.b ...
- 数据库日常维护-CheckList_02有关数据库备份检查
数据库备份是DB日常运维中最基本的也是最重要的工作,很多情况下都是做成作业形式实现自动化周期性的做全备.差异以及日志备份.那么,如果作业出现问题没有完成工作,我们可以设置自动报警如email被动提醒我 ...
- [django]手动数据库备份
基本原理是按钮点击后,系统查询出数据表中信息,然后在网页中导出相关表格! 若有自动数据库备份的兄弟,指点一下! 模板代码: <a href="{% url 'work_backup' ...
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- SQL Server数据库备份的镜像
SQL Server数据库备份的镜像 一个完整备份可以分开镜像 USE master GO BACKUP DATABASE [testdatabase] TO DISK = N'C:\testdata ...
- SQL Server 数据库备份还原和数据恢复
认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据 ...
- Sql Server数据库备份和恢复:原理篇
本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...
- TODO:MongoDB MySQL数据库备份
TODO:MongoDB MySQL数据库备份 1. MongoDB使用命令备份 mongodump进行整个数据库备份,主要用到的命令参数: -d 要备份的数据库 -o 输出的路径 ./mongodu ...
随机推荐
- Android slidingmenu详细解释 滑动的优化
Android slidingmenu 详细解释 性能优化 转载请注明: http://blog.csdn.net/aaawqqq 简单介绍 SlidingMenu 是github 上Androi ...
- SQL去掉小数点有效数字后的所有0
原文:SQL去掉小数点有效数字后的所有0 第一种方法 select cast(2.5000000000000 as real) select cast(2 as real) select ...
- DSP TMS320C6000基础学习(7)—— Bootloader与VectorTable
本文主要简单记录C6000在启动装载过程和中断向量表的配置. 1. Bootloader 如上图, (1)在Device Reset阶段: 设备初始化为默认状态,大部分三态输出都配置为高阻态. (2) ...
- c#二进制、十进制、16进制之间的转换
//十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...
- iOS制作Static Library(静态库),实现多工程的连编
在iOS开发中,我们会发现一些偏底层或基础代码是直接可以复用的,当我们换一个项目,改变的只需要是偏上层的业务逻辑代码,所以我们可以把这部分基础代码制作为一个静态库static library,并不断扩 ...
- learn objetive-c
Cocoa Dev Central Objective-C Objective-C is the primary language used to write Mac software. If you ...
- 聊天工具mychat
python学习,自己写了个简单聊天工具mychat 最近在学习python,自己写了个最最简单的聊天工具mychatv0.1. 第一版,完成基本的聊天功能. GUI用的是自带的TKinter,用到的 ...
- in和exists哪个效率高本人测试证明
in和exists哪个效率高本人测试证明 SQLSERVR语句 in和exists哪个效率高自己测试本人测试证明 最近很多人讨论in和exists哪个效率高,今天就自己测试一下 我使用的是客户的数据库 ...
- Log in Spring
记录日志向来是企业级应用程序必须考虑的事情.早些年,一个项目一个日志功能或模块,然后有了log4j这样的产品.不知是log4j将记录日志做到了极致,或是技术含量不高,又或是经济利益不明显,它已成为了这 ...
- C#代码搜索器
WEBUS2.0 In Action - [源代码] - C#代码搜索器 最近由于工作的需要, 要分析大量C#代码, 在数万个cs文件中搜索特定关键词. 这是一项非常耗时的工作, 用Notepad++ ...