Redmine資料庫備份及搬家
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的密碼是一樣的。
備份
1、備份資料庫 mysqldump -u root -p bitnami_redmine > backup.sql 2、備份附件 apps\redmine\htdocs\files 3、備份配置檔案 apps\redmine\htdocs\config\database.yml apps\redmine\htdocs\config\configuration.yml 還原 1、覆蓋檔案 apps\redmine\htdocs\files 2、覆蓋檔案 apps\redmine\htdocs\config\database.yml apps\redmine\htdocs\config\configuration.yml
3、還原資料庫
本地如果安裝了mysql,mysql預設3306,但是 redmine的埠是3307,使用 navicat 是能連線上的
資料庫名:bitnami_redmine
可以使用 nativact 備份資料庫。還原資料庫。
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
建立資料庫結構:[[email protected] 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" [[email protected] 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
插入預設的配置資料:
[[email protected] 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. 建立相關目錄 [[email protected] redmine]# mkdir tmp public/plugin_assets mkdir: 無法建立目錄 “tmp”: 檔案已存在 [[email protected] redmine]# chmod -R 755 files log tmp public/plugin_assets [[email protected] redmine]# 測試3000環境 [[email protected] 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註釋掉即可。