关键字
kbpass,密码文件
KingbaseES免密登录
一般在生产环境中的sys_hba.conf配置中,都不会设置为trust(允许免密登录),在特殊情况下需要免密登录(如用sys_rman备份配置初始化)要如何处理?这种情况下可以通过配置密码文件进行免密登录。
. kbpass文件内容格式如下:
hostname:port:database:username:password
需要注意:
1、当密码包含冒号(:)时,必须用反斜杠(\ :)进行转义
2、字符“*”可以匹配任何字段中的任何值(密码除外)
3、如果设置了环境变量PGPASSWORD,则不会读取~/ . kbpass文件
4、关于权限:在Unix系统上,口令文件上的权限必须不允许所有人或组内访问(即权限为0600),如果权限没有这么严格,该文件将被忽略。
示例
未配置密码文件的情况下需要输入密码:
在用户home目录下增加密码文件:
[kbc5@singlekbdb ~]$ more .kbpass
192.168.254.137:12345:test:system:system
由于是强匹配,如果hostname列写ip地址的情况下,ksql登录必须要通过–h参数指定服务器ip才行。
在sys_rman初始化时,密码文件的hostname必须设置为*或者localhost,否则即使设置了密码文件,依然会提示没有密码。
WARN: unable to check kb-1: [DbConnectError] unable to connect to 'dbname='test' port=12345 user='system'': fe_sendauth: no password supplied。
参考资料
更多金仓数据库KingbaseES信息,详见 KingbaseES产品手册