数据库备份常见问题

本文为您介绍云备份使用中数据库备份常见的问题以及对应的解决办法。

MySQL数据库实例状态显示为未激活,如何处理?

image.png

  • 您注册数据库时输入的数据库用户名不正确、权限不足或者密码错误,确认用户名和密码正确后,请为该备份账号添加足够的权限。建议您创建专门用于备份的用户。

    该用户所具备的最小权限集为RELOAD、LOCK TABLES、REPLICATION、PROCESS。

  • 您可以执行systemctl status dbackup3-agent查看备份客户端的进程状态。其中active表示客户端运行正常。

    ● dbackup3-agent.service - dbackup3 agent daemon
       Loaded: loaded (/usr/lib/systemd/system/dbackup3-agent.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2023-12-11 13:47:34 CST; 1min 13s ago
     Main PID: 22192 (dbackup3-agent)
       CGroup: /system.slice/dbackup3-agent.service
               └─22192 /opt/scutech/dbackup3/bin/dbackup3-agent -f /etc/opt/scutech/dbackup3/agent/svc.conf.d
    
    Dec 11 13:47:34 iZbp1******gktZ systemd[1]: Started dbackup3 agent daemon.
  • 客户端日志路径位于:/var/log/dbackup3/agent.log

MySQL数据库实例状态显示为数据库离线,如何处理?

image.png

请登录ECS实例,使用systemctl status mysqld命令查询MySQL数据库状态,发现其进程为inactive状态。MySQL数据库服务未启动。

执行systemctl start mysqld命令重启MySQL服务后,控制台上数据库实例状态显示为在线

如何查看数据库备份客户端的进程状态、日志路径?

  • 对于Linux系统:

    您可以执行systemctl status dbackup3-agent查看数据库备份客户端的进程状态。其中active表示客户端运行正常。

    ● dbackup3-agent.service - dbackup3 agent daemon
       Loaded: loaded (/usr/lib/systemd/system/dbackup3-agent.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2023-12-11 13:47:34 CST; 1min 13s ago
     Main PID: 22192 (dbackup3-agent)
       CGroup: /system.slice/dbackup3-agent.service
               └─22192 /opt/scutech/dbackup3/bin/dbackup3-agent -f /etc/opt/scutech/dbackup3/agent/svc.conf.d
    
    Dec 11 13:47:34 iZbp1******gktZ systemd[1]: Started dbackup3 agent daemon.

    客户端日志路径位于:/var/log/dbackup3/agent.log

  • 对于Windows系统:

    1. 按下Win + R键打开“运行”对话框。

    2. 输入services.msc并按回车键,打开服务管理界面。

    3. 在服务列表中找到dbackup3-agent服务。

    4. 检查该服务的状态是否为“正在运行”。如果状态不是“正在运行”,则右键单击dbackup3-agent服务,并选择“重新启动”来启动它。

    客户端日志路径位于:C:\ProgramData\scutech\dbackup3\agent\log\dbackup3-agent.log

在控制台,MySQL数据库实例状态显示为未知,如何处理?

image.png

请登录安装数据库备份客户端的服务器,使用systemctl status dbackup3-agent命令查询后,发现其进程为inactive状态。客户端进程未启动。

执行systemctl start dbackup3-agent命令重启客户端进程后,控制台上数据库实例状态显示为在线

支持备份的MySQL数据库版本、操作系统是否有限制?

支持的数据库版本、操作系统和备份功能有限制,例如不支持部署在Windows中的MySQL数据库。更多信息,请参见兼容系统列表和使用限制

数据库备份库的过期数据清理机制是怎样的?

增量备份、累计增量备份和日志备份依赖完整的前序备份链,包括前序的全量备份以及增量备份、累计增量备份、日志备份。在包含全量+增量、累计增量、日志备份的备份链中,最后一个备份过期前,完整备份链依赖的备份都会保留在备份库中,占用备份空间。请合理配置备份周期和过期时间。

例如,您9月1号做了全量备份,2号到7号每天做了一次增量,备份保留时间为7天。那么9月1号到7号的7次备份数据,会等到9月14号数据全部过期后,才会自动删除。

如何查看数据库备份数据量和备份库使用量?计费依据是哪个?

备份数据量代表备份任务累计的数据量,比如1TB文件备份两次后,云备份会保存两份独立数据拷贝,此数值就计为2TB。云备份使用重删压缩技术缩减备份库使用量,为您节省费用。实际占用的备份库使用量是计费的依据。您可以在控制台概览页面,查看存储库备份数据量和备份库使用量。image.png

如何取消数据库备份?

如何取消MySQL数据库备份?

准确而完整地取消数据库备份后,不会产生额外费用和占用资源。

重要

取消数据库备份,您的备份数据会被删除,已备份数据无法恢复,请谨慎评估后操作。

  1. 删除备份计划。

  2. 注销实例。ECS实例数据库在注销实例时,会自动卸载已安装的备份客户端。

  3. 如果是本地服务器安装的MySQL数据库,请登录本地服务,卸载客户端。

    • Linux

      • CentOS

        sudo rpm --erase "dbackup3-agent-mysql"
        sudo rpm --erase "dbackup3-agent"
        sudo rpm --erase "dbackup3-common"
      • Ubuntu

        sudo dpkg -r "dbackup3-agent-mysql" "dbackup3-agent" "dbackup3-common"
  4. 清理配置文件。

    • Linux

      rm -rf /etc/default/dbackup3*
      rm -rf /opt/scutech
      rm -rf /var/opt/scutech/
      rm -rf /var/log/dbackup3/
      rm -rf /etc/opt/scutech/
  5. 删除备份库。

    在左侧导航栏,选择存储库管理,找到对应备份库,删除。

如何取消Oracle数据库备份?

准确而完整地取消数据库备份后,不会产生额外费用和占用资源。

重要

取消数据库备份,您的备份数据会被删除,已备份数据无法恢复,请谨慎评估后操作。

  1. 删除备份计划。

  2. 注销实例。ECS实例数据库在注销实例时,会自动卸载已安装的备份客户端。

  3. 如果是本地服务器安装的Oracle数据库,请登录本地服务,卸载客户端。

    • Windows

      1. 进入备份客户端安装目录(PowerShell)。例如C:\Program Files\aliyun\unibackup>

      2. 执行命令。

         .\uninstall-unibackup.exe /S /NCRC
    • Linux

      • CentOS

        sudo rpm --erase "dbackup3-agent-oracle"
        sudo rpm --erase "dbackup3-agent"
        sudo rpm --erase "dbackup3-common"
      • Ubuntu

        sudo dpkg -r "dbackup3-agent-oracle" "dbackup3-agent" "dbackup3-common"
  4. 清理配置文件。

    • Windows

      删除位于c:\programdata\scutech下的所有配置文件。

    • Linux

      rm -rf /etc/default/dbackup3*
      rm -rf /opt/scutech
      rm -rf /var/opt/scutech/
      rm -rf /var/log/dbackup3/
      rm -rf /etc/opt/scutech/
  5. 删除备份库。

    在左侧导航栏,单击存储库管理,找到对应备份库,删除。

如何取消SQL Server数据库备份?

准确而完整地取消数据库备份后,不会产生额外费用和占用资源。

重要

取消数据库备份,您的备份数据会被删除,已备份数据无法恢复,请谨慎评估后操作。

  1. 删除备份计划。

  2. 注销实例。ECS实例数据库在注销实例时,会自动卸载已安装的备份客户端。

  3. 如果是本地服务器安装的SQL Server数据库,请登录本地服务,卸载客户端。

    • Windows

      1. 请进入备份客户端安装目录(PowerShell)。例如C:\Program Files\aliyun\unibackup>

      2. 执行uninstall-unibackup.exe命令,按照向导完成卸载。

  4. 删除位于c:\programdata\scutech下的所有配置文件。

  5. 删除备份库。

    在左侧导航栏,单击存储库管理,找到对应备份库,删除。

在MySQL中新创建了一个数据库,如何备份这个新库?

MySQL备份按照数据库实例进行备份,新增数据库不需要您手动设置,下次备份会自动备份新增库。

数据备份失败怎么办?

MySQL数据库备份失败如何处理?

执行历史中发现状态为错误image.png

建议您按照以下步骤处理:

  1. 登录ECS实例或者本地服务器,查看MySQL服务状态。参考命令为systemctl status mysqld,正常的服务状态为active,inactive为不正常状态。若为inactive,建议重启后尝试。

  2. 确认数据库用户名和密码、及其权限配置是正确的。密码过期、用户权限变更后权限不足,也会导致此问题。

    您注册数据库时输入的数据库用户名不正确、权限不足或者密码错误,确认用户名和密码正确后,请为该备份账号添加足够的权限。建议您创建专门用于备份的用户。

    该用户所具备的最小权限集为RELOAD、LOCK TABLES、REPLICATION、PROCESS。

SQL Server数据库备份失败如何处理?

使用云备份备份SQL Server时,备份失败。备份日志中出现报错以下提示,请参考以下方案进行处理。

  • 报错:该登录名没有足够的权限

    问题分析:SQL server备份用户权限不足。

    解决方案:请检查备份账号及权限。具体操作,请参见步骤二:创建备份账号和配置权限

  • 报错:无法覆盖文件

    问题分析:SQL Server数据库恢复路径被其他数据库占用。

    解决方案:目前云备份不支持修改恢复路径。

  • 报错:目标SQL Server数据库不存在。请确保正确地输入该名称。

    问题分析:目标SQL Server数据库不存在。

    解决方案:请确认目标数据库是否存在。

  • 报错:因为该数据库参与了数据库镜像会话或可用性组。某些操作不允许对正在参与数据库镜像会话或可用性组的数据库执行。

    问题分析:SQL Server数据库启用了SQL Server AlwaysOn。

    解决方案:请关闭副本同步或镜像。

  • 报错:因为该数据库已配置用于数据库镜像或已连接到某一可用性组。如果想要还原该数据库,请使用ALTER DATABASE删除镜像或从其可用性组中删除该数据库。

    问题分析:SQL Server数据库启用了SQL Server AlwaysOn。

    解决方案:请关闭副本同步或镜像。

Oracle数据库实例状态显示为未知,如何处理?

image.png

  1. 请确认ECS服务器为运行中,并且Oracle服务是正常的。image.png

  2. 登录安装数据库备份客户端的服务器,使用systemctl status dbackup3-agent命令查询后,发现其进程为inactive状态。客户端进程未启动。

  3. 执行systemctl start dbackup3-agent命令重启客户端进程后,控制台上数据库实例状态显示为在线

什么是数据库备份库

在创建数据库备份计划前,您必须创建数据库备份库。

数据库备份库,即为保存您数据库备份数据的存储容量库。数据库备份的费用由仓库租用费、存储库容量共同决定。更多信息,请参见计费方式与计费项

备份报错The difference between the request time and the current time is too large

问题分析:本地安装备份客户端的服务器时间与云备份备份后台服务器时间相差15分钟以上。

解决方案:建议检查本地服务器时间(时区)及NTP配置。若存在问题,请修改后重启备份客户端。

备份SQL Server 2019时出现浏览数据库详情失败如何处理?

问题分析:当备份SQL Server 2019时,如果有其他备份软件或脚本同时进行备份操作,那么在创建或编辑备份计划,并且选择数据库实例时,可能会出现浏览数据库详情失败的情况。

image

解决方案:

  1. 在SQL Server数据库中查询有多少数据库和备份集。

    select count(database_id) from master.sys.databases
    select count(backup_set_id) from msdb.dbo.backupset
  2. 删除 msdb.dbo.backupset 中的备份记录。

    重要

    删除备份记录会对您造成影响,如果您有自己的备份,会导致备份记录被清除,并且不能按照正常流程来恢复这些记录。但是这不会影响到您的数据备份,因为在下一次备份的时候,它会自动转换为全量备份。需要注意的是,在备份SQL Server 2019时不支持与其他备份软件或脚本同时使用。

    use msdb;
    exec sp_delete_backuphistory @oldest_date = '04/10/2024' ---保留4/10,4/9之前都删,您需要确认保留时间

在控制台,SQL Server数据库实例状态显示为未激活,如何处理?

image.png

  1. 您注册数据库时输入的数据库用户名不正确、权限不足或者密码错误。请确认用户名和密码正确后,为该备份账号添加足够的权限。建议您创建专门用于备份的用户,然后重试。

    请参见备份SQL Server准备工作页面的操作步骤,创建SQL Server备份账号和配置权限。具体操作,请参见步骤二:创建备份账号和配置权限步骤三:配置网络

  2. 重启dbackup3-agent服务。

    1. 按下Win + R键打开“运行”对话框。

    2. 输入services.msc并按回车键,打开服务管理界面。

    3. 在服务列表中找到dbackup3-agent服务。

    4. 检查该服务的状态是否为“正在运行”。如果状态不是“正在运行”,则右键单击dbackup3-agent服务,并选择“重新启动”来启动它。

  3. 重启服务后如果仍然未能激活,建议收集相关日志以便进行进一步的分析,客户端日志路径位于:本地磁盘(C)> ProgramData > scutech > dbackup3 > agent > log > dbackup3-agent.log

如何更换数据库备份使用的用户名和密码?

在备份整个过程中,可以通过重新激活来更换备份使用的用户名和密码,例如密码过期。重新激活,对现有的备份计划没有影响,无需改变备份计划。但是对正在执行中的备份任务有影响。建议:

  1. 备份计划页签先暂停(如有)实时日志备份;

  2. 在对应数据库的操作列,选择更多>重新激活

备份本地SQL Server数据库安装备份客户端报错Failed to run install script:exit status 4如何处理?

计算机本地安全设置策略项(用于内置管理员账户的管理员批准模式)未启用,该策略状态必须为已启用

  1. Win+R打开运行命令,输入gpedit.msc,运行本地组策略编辑器。

  2. 在本地组策略编辑器面板,依次选择计算机配置 > Windows设置 > 安全设置 > 本地策略 > 安全选项,在右侧找到用户账号控制:用于内置管理员账户的管理员批准模式,将该策略状态修改为已启用

注册数据库实例后,ECS数据库实例页签出现多条数据库实例,是为什么?

当一台ECS上部署了两个数据库实例并在控制台完成注册后,该ECS在ECS数据库实例页签将显示两条对应的数据库实例记录。

image

为什么收到告警的时间和实际错误发生时间不一致?

短信告警设置了夜间抑制功能,将晚上8点至次日早上8点期间触发的告警延迟至早上8点之后发送;而邮件告警则不受此限制,会即时发送。