在使用KingbaseES数据库的时候,系统默认存在一个跟系统初始化用户同名的Superuser(默认是system用户,可更改)。
这个Superuser的存在其实对于权限的管控是很有用的,但是如果我们误操作,把数据库所有的superuser都变成普通账号后,可能会引起很多问题。
本文介绍这种情况下要如何恢复超级管理员权限。
1.模拟误操作,删除system用户的superuser权限
2.恢复
恢复的方式就是修改修改元数据,将sys_authid表中system用户的rolsuper值修改为true。
R3版本可以通过单用户模式来处理。R6版本没有单用户模式,所以需要通过设置参数来处理:
在kingbase.conf中添加这2个参数后,重启数据库。
allow_system_table_dml=on
allow_system_table_mods=on
重新登录查看,system用户的superuser权限已恢复。