使用 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。
-
启动命令提示符。
-
将 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/ -type d | 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。