使用 mysqldump备份

描述如何使用 mysqldump 来备份数据。
在备份期间,用户将无法访问 Garoon。请在在用户不访问 Garoon 时备份数据。

备份前的确认事项

使用 mysqldump 备份前,请确保:

启用备份模式

需在数据库启动的状态下使用 mysqldump 备份。
但是,files目录需要使用 OS 命令另外备份。为确保数据完整性,应在备份期间禁止数据库更新。
使用备份模式备份的过程中,禁止用户访问 Garoon。

初始设置为备份模式不可用。
在开始备份之前,更改配置文件“ common.ini” 的内容,以启用备份模式。

“common.ini”的文件路径

(CGI 目录) / (安装标识符) / common.ini
范例:

  • Windows环境:
    C:\inetpub\scripts\cbgrn\common.ini
  • Linux环境:
    /var/www/cgi-bin/cbgrn/common.ini
在“common.ini”中更改的内容

删除[BackupMode]下的“disable = "1"”行。
更改前:


[BackupMode]
disable = "1"
driver = “xxxxx”

更改后:


[BackupMode]
driver = “xxxxx”

Windows环境中

在 Windows 环境中,使用 mysqldump 来备份数据。
以使用安装包中附带的 MySQL为例进行说明。

  • 安装标识符:cbgrn
  • CGI目录:C:\inetpub\scripts
  • 要备份的目录:
    • C:\Program Files\Cybozu\mysql-5.0\data
    • C:\Program Files\Cybozu\mysql-5.0\files
  • 备份数据的保存位置:C:\backup\YYYYMMDD
操作步骤:
  1. 启动命令提示符。

  2. 创建要备份到的目录。

    mkdir C:\backup\YYYYMMDD

  3. 停止调度服务。

    在Windows的开始菜单中,选择[管理工具] > [服务],并停止以下服务:

    • Cybozu_Scheduling_Service_cbgrn

  4. 确保调度服务已停止。

    1. 启动任务管理器。
    2. 在 Windows任务管理器中,点击[进程]标签页。
    3. 确保未显示sched.exe。

  5. 将 Garoon 设置为备份模式。

    cd C:\inetpub\scripts\cbgrn
    .\grn.exe -C -q code\command\backupmode_start.csp

  6. 在数据库管理用户,执行 mysqldump。

    "C:\Program Files\Cybozu\mysql-5.0\bin\mysqldump" --defaults-file="C:\Program Files\Cybozu\mysql-5.0\etc\my.ini" --all-databases --single-transaction -u cbroot -p > C:\backup\YYYYMMDD\full.sql

  7. 输入数据库管理用户的密码。

  8. 使用 OS 命令备份附件。

    xcopy "C:\Program Files\Cybozu\mysql-5.0\files" C:\backup\YYYYMMDD\files /e /i

  9. 解除备份模式。

    cd C:\inetpub\scripts\cbgrn
    .\grn.exe -C -q code\command\backupmode_end.csp

  10. 启动调度服务。

    在Windows的开始菜单中,选择[管理工具] > [服务],并启动以下服务:

    • Cybozu_Scheduling_Service_cbgrn

  11. 确保能够正常访问 Garoon。

Linux环境

在 Linux 环境中,使用 mysqldump 来备份数据。
以使用安装包中附带的 MySQL为例进行说明。

  • 安装标识符:cbgrn
  • CGI 目录: /var/www/cgi-bin
  • 要备份的目录:
    • /usr/local/cybozu/mysql-5.0/data
    • /usr/local/cybozu/mysql-5.0/files
  • 保存备份数据的位置: /backup/YYYYMMDD
操作步骤:
  1. 启动命令提示符。

  2. 创建要备份到的目录。

    mkdir -p /backup/YYYYMMDD

  3. 停止调度服务。

    systemctl stop cyss_cbgrn.service

  4. 确保调度服务已停止。

    运行以下命令,确保不显示调度服务。

    ps -aux | grep cyss

  5. 将 Garoon 设置为备份模式。

    cd /var/www/cgi-bin/cbgrn
    ./grn.cgi -C -q code/command/backupmode_start.csp

  6. 在数据库管理用户,执行 mysqldump。

    /usr/local/cybozu/mysql-5.0/bin/mysqldump --defaults-file=/usr/local/cybozu/mysql-5.0/etc/my.ini --all-databases --single-transaction -u cbroot -p > /backup/YYYYMMDD/full.sql

  7. 输入数据库管理用户的密码。

  8. 使用 OS 命令备份附件。

    cp -rp /usr/local/cybozu/mysql-5.0/files /backup/YYYYMMDD/

  9. 解除备份模式。

    cd /var/www/cgi-bin/cbgrn
    ./grn.cgi -C -q code/command/backupmode_end.csp

  10. 启动调度服务。

    systemctl start cyss_cbgrn.service

  11. 确保能够正常访问 Garoon。