断电造成海康威视某平台SAC异常,MariaDB数据恢复来解决。
一、背景说明
目前手上有个项目为智慧园区管理平台,因园区电路改造,造成总机房ups电源耗尽,设备非正常断电,确定MDB数据库组件数据已损坏场景,进行操作场景说明。分别对于window和linux进行操作步骤说明,为支持人员提供操作帮助。
注:支持版本sac1.2到1.5版本
二、windows系统 注:案例中以windows机器为例
sac和mdb安装目录为D:\hikvision\web\components\
步骤如下:
1、确定备份数据位置和情况
图2-1 备份路径位置
如图2-1所示,http://x.x.x.x:9012页面登录,查看“系统管理”--“参数配置”,确定备份路径为D:\hikvision\web\components\sac.1\data
确定D:\hikvision\web\components\sac.1\data\sac_metadata_backup\sam_base和D:\hikvision\web\components\sac.1\data\sac_metadata_backup\sac_web下面文件大小是否为0,如果不为0,说明存在备份,且备份有效。
同时拷贝D:\hikvision\web\components\sac.1\data\sac_metadata_backup到D:\hikvision\web\components\sac.1下面
2、重建数据库服务
注:请将fatal_recovery_db.bat和restore.bat拷贝到sac.1/script(相对路径,请根据现场安装路径确定存放位置)目录下面。
(一定要将脚本拷贝到相对路径下才能继续后续命令操作!!!)
进入D:\hikvision\web\packages\components目录,查看到mdb_1.x.x.zip压缩包。(1)在运管页面上停止mdb服务(一定注意要停止服务,否则反复重启会影响恢复过程)
(2)将D:\hikvision\web\components\mdb.1\data重命名为
D:\hikvision\web\components\mdb.1\data_old_backup
(3)在桌面上新建C:\Users\Administrator\Desktop\tmp_bak目录,然后解压
将D:\hikvision\web\packages\components\mdb_1.x.x.zip拷贝到该目录下面,进行解压,将解压中的data放到D:\hikvision\web\components\mdb.1目录下面
(4)在cmd中执行恢复数据:
"D:\hikvision\web\components\sac.1\script\fatal_recovery_db.bat"
(5)现在在运管上重启mdb和sac组件,恢复正常
确认恢复后,删除D:\hikvision\web\components\mdb.1\data_old_backup备份目录
三、linux系统 注:案例中以linux机器为例
sac和mdb安装目录为/opt/hikvision/web/components/
步骤如下:
1、确定备份数据位置和情况
http://x.x.x.x:9012页面登录,查看“系统管理”--“参数配置”,确定备份路径为/opt/hikvision/web/components/sac.1/data
确定/opt/hikvision/web/components/sac.1/data/sac_metadata_backup/sam_base和/opt/hikvision/web/components/sac.1/data/sac_metadata_backup/sac_web下面文件大小是否为0,如果不为0,说明存在备份,且备份有效。
需要将数据拷贝到/opt/hikvision/web/components/sac.1目录下面, 执行命令:
\cp –af /opt/hikvision/web/components/sac.1/data/sac_metadata_backup /opt/hikvision/web/components/sac.1
2、重建数据库服务
注:请将fatal_recovery_db.sh和fully_recovery_db.sh拷贝到sac.1/script/sac(相对路径,请根据现场安装路径确定存放位置)目录下面,并且赋值权限
chmod +x fatal_recovery_db.sh fully_recovery_db.sh
(一定要将脚本拷贝到相对路径下并且赋值权限才能继续后续命令操作!!!)
(1)在运管页面上停止mdb服务(一定注意要停止服务,否则反复重启会影响恢复过程)
(2)恢复数据,执行下面命令:
/opt/hikvision/web/components/sac.1/script/sac/fatal_recovery_db.sh
(3)请在运管页面上重启mdb和sac服务
确认恢复后,删除/opt/hikvision/web/components/mdblinux64.1/data_old_backup备份目录。
附件下载:MDB数据损坏恢复.7z