1. 程式人生 > >Redmine資料庫備份及搬家

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註釋掉即可。