无权限角色导出数据
vb_dump和vb_dumpall通过-U指定执行导出的用户帐户。如果当前使用的帐户不具备导出所要求的权限时,会无法导出数据。此时,需先将具有权限的角色赋权给无权限角色,然后在导出命令中设置--role参数来指定具备权限的角色。在执行命令后,vb_dump和vb_dumpall会使用--role参数指定的角色,完成导出动作。
操作步骤
1、以安装Vastbase的操作系统用户(以vastbase为例)登录数据库主节点。
2、使用vb_dump导出human_resource数据库数据时-U指定用户为jack:
用户jack不具备导出数据库human_resource的权限,而角色role1具备该权限,要实现导出数据库human_resource,需要将role1赋权给jack,然后可以在导出命令中设置--role角色为role1,使用role1的权限,完成导出目的。导出文件格式为tar归档格式。
vb_dump -U jack -f /home/backup/MPPDB_backup.tar -p 5432 human_resource --role role1 --rolepassword abc@1234 -F t
Password:
表 1 常用参数说明
示例
前置步骤:
1、创建普通用户jack和具有管理员权限的用户role1。
CREATE USER jack IDENTIFIED BY "1234@abc";
CREATE ROLE role1 SYSADMIN PASSWORD 'Vastbase@123';
2、将角色role1赋予用户jack。
grant role1 to jack;
3、在操作系统中创建存放备份文件的目录。
cd /home/vastbase
mkdir bak
示例1:
执行vb_dump导出数据,用户jack不具备导出数据库vastbase的权限,而角色role1具备该权限,要实现导出数据库vastbase,可以在导出命令中设置--role
角色为role1,使用role1的权限,完成导出目的。导出文件格式为tar归档格式。
vb_dump -U jack -W "1234@abc" -f bak/MPPDB_backup11.tar -p 5432 vastbase --role role1 --rolepassword Vastbase@123 -F t
上述语句等效于:
vb_dump -U jack -f bak/MPPDB_backup11.tar -p 5432 vastbase --role role1 --rolepassword Vastbase@123 -F t
执行上述命令后需要手动输入用户jack的密码。
示例2:
执行vb_dump导出数据,用户jack不具备导出模式public的权限,而角色role1具备该权限,要实现导出模式public,可以在导出命令中设置--role
角色为role1,使用role1的权限,完成导出目的。导出文件格式为tar归档格式。
vb_dump -U jack -f bak/MPPDB_backup12.tar -p 5432 vastbase -n public --role role1 --rolepassword Vastbase@123 -F t
示例3:
执行vb_dumpall导出数据,用户jack不具备导出所有数据库的权限,而角色role1(管理员)具备该权限,要实现导出所有数据库,可以在导出命令中设置--role
角色为role1,使用role1的权限,完成导出目的。导出文件格式为文本归档格式。
vb_dumpall -U jack -f bak/MPPDB_backup.sql -p 5432 --role role1 --rolepassword Vastbase@123