mysqldumpを使用したリストア
mysqldumpを使用してデータをリストアする方法を説明します。
リストア中は、ユーザーはGaroonにアクセスできません。ユーザーがGaroonにアクセスしない時間帯にデータをリストアしてください。
リストア前の確認事項
mysqldumpを使用してリストアする前に、次の事項を確認します。
バックアップモードを使用可能にする
mysqldumpを使用したリストアは、データベースを起動した状態で行います。
ただし、filesディレクトリーは、OSのコマンドを使用して別途リストアする必要があります。データの整合性を保つために、リストア中はデータベースの更新を禁止する必要があります。
バックアップモードを使用して、リストア中はユーザーがGaroonにアクセスできないようにします。
初期設定では、バックアップモードを使用できません。
リストアを開始する前に、設定ファイル「common.ini」の内容を変更し、バックアップモードを使用可能にします。
(CGIディレクトリー)/(インストール識別子)/common.ini
例:
- Windows環境:
C:\inetpub\scripts\cbgrn\common.ini - Linux環境:
/var/www/cgi-bin/cbgrn/common.ini
[BackupMode]の下の「disable = "1"」の行を削除します。
変更前:
[BackupMode]
disable = "1"
driver = “xxxxx”
:
変更後:
[BackupMode]
driver = “xxxxx”
:
mysqldumpの速度
mysqldumpは、データ量に比例してバックアップとリストアの時間が長くなります。
リストアはバックアップより時間がかかります。
mysqldumpを使用したリストアは、OSのコマンドを使用したリストアより時間がかかります。
リストア後のディスク使用量
mysqldumpを使ってリストアすると、バックアップ前よりディスク使用量が少ない場合があります。バックアップしたデータに未使用領域が含まれていないためです。データが欠落しているわけではありません。
Windows環境の場合
Windows環境で、mysqldumpを使用してデータをリストアします。
インストーラーに同梱されているMySQLを使用している場合を例に説明します。
- インストール識別子:cbgrn
- CGIディレクトリー:C:\inetpub\scripts
- MySQLのインストールディレクトリー:C:\Program Files\Cybozu
- バックアップデータの保存先:C:\backup\YYYYMMDD
-
Webサーバーサービスを停止します。
-
スケジューリングサービスを停止します。
Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを停止します。
- Cybozu_Scheduling_Service_cbgrn
-
スケジューリングサービスが停止していることを確認します。
- タスクマネージャーを起動します。
- Windowsタスクマネージャーで、[プロセス]のタブをクリックします。
- sched.exeが表示されないことを確認します。
-
コマンドプロンプトを起動します。
コマンドプロンプトの簡易編集モードは無効にしてください。簡易編集モードが有効な場合、処理中にテキストの選択などの操作をすると、処理が停止します。
簡易編集モードを無効にする手順- コマンドプロンプトのタイトルバーを右クリックし、「プロパティ」を選択します。
- 表示された設定画面で、「簡易編集モード」のチェックを外し、[OK]をクリックします。
-
Garoonをバックアップモードに設定します。
cd C:\inetpub\scripts\cbgrn .\grn.exe -C -q code\command\backupmode_start.csp
-
データベース管理ユーザーで、バックアップしたデータを読み込みます。
"C:\Program Files\Cybozu\mysql-5.0\bin\mysql" --defaults-file="C:\Program Files\Cybozu\mysql-5.0\etc\my.ini" -u cbroot -p < C:\backup\YYYYMMDD\full.sql
-
データベース管理ユーザーのパスワードを入力します。
-
既存の添付ファイル領域を削除します。
rmdir /s /q "C:\Program Files\Cybozu\mysql-5.0\files"
-
OSのコマンドを使用して、添付ファイルをリストアします。
xcopy C:\backup\YYYYMMDD\files "C:\Program Files\Cybozu\mysql-5.0\files" /e /i
-
手順6と手順9でリストアしたディレクトリーで、Everyoneにフルコントロール権限が付与されていることを確認します。
付与されていない場合は、Everyoneにフルコントロールの許可を設定します。 -
MySQLサービスを再起動します。
Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを再起動します。
- Cybozu_Database_Engine_5_0
-
バックアップモードを解除します。
cd C:\inetpub\scripts\cbgrn .\grn.exe -C -q code\command\backupmode_end.csp
-
スケジューリングサービスを起動します。
Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを起動します。
- Cybozu_Scheduling_Service_cbgrn
-
Webサーバーサービスを起動します。
-
Garoonに正常にアクセスできることを確認します。
Linux環境の場合
Linux環境で、mysqldumpを使用してデータをリストアします。
インストーラーに同梱されているMySQLを使用している場合を例に説明します。
- インストール識別子:cbgrn
- CGIディレクトリー:/var/www/cgi-bin
- MySQLのインストールディレクトリー:/usr/local/cybozu
- バックアップデータの保存先:/backup/YYYYMMDD
-
Webサーバーサービスを停止します。
systemctl stop httpd.service
-
スケジューリングサービスを停止します。
systemctl stop cyss_cbgrn.service
-
スケジューリングサービスが停止していることを確認します。
次のコマンドを実行し、スケジューリングサービスが表示されないことを確認します。
ps -aux | grep cyss
-
Garoonをバックアップモードに設定します。
cd /var/www/cgi-bin/cbgrn ./grn.cgi -C -q code/command/backupmode_start.csp
-
データベース管理ユーザーで、バックアップしたデータを読み込みます。
/usr/local/cybozu/mysql-5.0/bin/mysql --defaults-file=/usr/local/cybozu/mysql-5.0/etc/my.ini -u cbroot -p < /backup/YYYYMMDD/full.sql
-
データベース管理ユーザーのパスワードを入力します。
-
既存の添付ファイル領域を削除します。
rm -rf /usr/local/cybozu/mysql-5.0/files
-
OSのコマンドを使用して、添付ファイルをリストアします。
cp -rp /backup/YYYYMMDD/files /usr/local/cybozu/mysql-5.0/
-
リストアしたデータのアクセス権が適切に設定されていることを確認します。
Garoonを利用するために必要なアクセス権の設定は、次のとおりです。
- /usr/local/cybozu/mysql-5.0/dataのデータ
- 所有者:CGI実行ユーザー(例:apache)
- ディレクトリーおよびサブディレクトリーのアクセス権:755
- ディレクトリー内のファイルのアクセス権:755
- /usr/local/cybozu/mysql-5.0/filesのデータ
- 所有者:CGI実行ユーザー(例:apache)
- ディレクトリーおよびサブディレクトリーのアクセス権:755
- ディレクトリー内のファイルのアクセス権:644
アクセス権を変更する場合は、次のコマンドを実行してください。
chmod -R 755 /usr/local/cybozu/mysql-5.0/data chown -R (CGI実行ユーザー):root /usr/local/cybozu/mysql-5.0/data find /usr/local/cybozu/mysql-5.0/files/ -type d | xargs chmod 755 find /usr/local/cybozu/mysql-5.0/files/ -type f | xargs chmod 644 find /usr/local/cybozu/mysql-5.0/files/ | xargs chown (CGI実行ユーザー):root
- /usr/local/cybozu/mysql-5.0/dataのデータ
-
MySQLサービスを再起動します。
systemctl restart cyde_5_0.service
-
バックアップモードを解除します。
cd /var/www/cgi-bin/cbgrn ./grn.cgi -C -q code/command/backupmode_end.csp
-
スケジューリングサービスを起動します。
systemctl start cyss_cbgrn.service
-
Webサーバーサービスを起動します。
systemctl start httpd.service
-
Garoonに正常にアクセスできることを確認します。