机房断电搞崩服务器 | 人大金仓 V8 全量备份跨实例完整恢复实录

机房断电搞崩服务器 | 人大金仓 V8 全量备份跨实例完整恢复实录
挂载U盘1.1 查看磁盘设备找到 U 盘# 列出所有块设备 lsblk # 或查看磁盘分区 fdisk -l1.2 创建挂载目录并挂载 U 盘# 新建U盘挂载文件夹 mkdir -p /mnt/usb # 挂载U盘分区替换你的实际分区如sdb1 mount /dev/sdb1 /mnt/usb若 U 盘是 NTFS 格式麒麟默认缺少驱动执行安装 ntfs 支持apt install ntfs-3g -y mount -t ntfs-3g /dev/sdb1 /mnt/usb然后验证 U 盘文件# 查看备份文件 ls -lh /mnt/usb2. 切换到数据库管理员用户kingbase# 切换到 kingbase 用户 su -kingbase # 确认环境变量 echo $KINGBASE_HOME echo $KINGBASE_DATA # 如果输出为空则需要设置环境变量 export KINGBASE_HOME/opt/Kingbase/ES/V8/Server export KINGBASE_DATA/opt/Kingbase/ES/V8/data # 把V8的bin加到PATH最前面优先调用V8工具TODO: 还原完成后移除V8的bin还原环境变量 export PATH$KINGBASE_HOME/bin:$PATH # 验证 Kingbase ksql -V # $_ ksql (Kingbase) V008R006C007B0012PS001确保数据库服务已经启动sys_ctl status -D /opt/Kingbase/ES/V8/data # $_ sys_ctl: server is running (PID: 30482)如果未启动则需要启动数据库服务sys_ctl start -D /opt/Kingbase/ES/V8/data因为是还原全量备份的数据库可能有已存在的重名数据库导致还原失败或者被覆盖。还原之前要登录到数据库服务查看现有数据库加以确认。# 登录到数据库默认用户 system 默认数据库 system ksql -USYSTEM -d SYSTEM # 如果是登录其他数据库实例 # ksql -U admin -p 54323 -d test -h 172.16.3.166 # -U: 用户 admin # -p: 端口 54323 # -d: 数据库 test # -h: host 172.16.3.166 # 然后输入登录密码验证登录 # 查看所有数据库 \l # 数据库列表 # 名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限 # ------------------------------------------------------------------ # security | sa | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | # template0 | sa | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | c/sa # | | | | | saCTc/sa # template1 | sa | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | c/sa # | | | | | saCTc/sa # test | sa | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | # (4 行记录) # 退出 ksql 交互页面 \q3. 执行数据还原3.1 复制备份文件复制耗时受U盘读取速率、服务器磁盘写入速率、备份文件大小影响。复制命令可能耗时很久执行期间控制台没有任何输出。cp /mnt/sandisk/kingbase_54323_all.sql ~/确认文件权限确认当前 kingbase 用户对其有读取权限。ls -lh ~/ # $_ -rwxrwxr-x 1 kingbase kingbase 58G 6月 11 15:11 kingbase_54323_all.sql # 如果没有则需要用 root 授权3.2 执行还原操作执行还原之前最好断开其他数据库连接暂停对数据库的任何操作以避免产生波动导致还原失败。如果文件较大直接在终端运行如果连接断开会导致还原中断。强烈建议使用nohup在后台运行并把日志输出到文件中以便观察进度。nohup ksql -U sa -d test -p 54323 -f /home/kingbase/kingbase_54323_all.sql /home/kingbase/restore-kingbase_54323_all.log 21 3.3 监控还原进度还原需要一定的时间取决于你新电脑的 CPU 和固态硬盘速度通常需要几十分钟到几个小时不等。你可以通过查看日志来监控进度# 滚动显示最后 10 行日志内容 tail -f -n 10 /home/kingbase/restore-kingbase_54323_all.log # 或者直接滚动查看所有文本 # tail -f /home/kingbase/restore-kingbase_54323_all.log