首页 > 数据库 > > zsql-连接数据库

zsql连接数据库时如果使用非交互式登录,会导致环境存在大量明文密码,建议使用交互式方式登录GaussDB 100。
免密登录不指定IP地址则默认使用的本机配置文件里面LSNR_ADDR的第一个地址。
GaussDB 100支持如下两种登录协议,两种登录协议的URL不同,通过TCP协议建立数据库连接时,需要指定IP和端口,而通过UDS(Unix Domain Socket)方式建立数据库连接时,不需要指定IP和端口。
通过zsql连接到GaussDB 100服务器,可以执行SQL命令,进行数据库操作。
若创建的密码中包含特殊字符$,通过zsql连接数据库时密码在单引号里面$不需要使用\转义字符转义,密码不在单引号里面$需要使用\转义字符转义,否则会登录失败。
通过TCP登录数据库时支持zsql客户端远程连接数据库、服务端本地连接数据库、服务端远程连接数据库。本地登录和远程登录的区别在于:本地登录使用的IP地址为本地回环地址;远程登录使用的是远端IP地址。
TCP登录方式与通过UNIX DOMAIN SOCKET方式建立数据库连接的唯一不同是URL不一样。通过TCP协议建立数据库连接时,需要指定IP和端口,而通过UDS(Unix Domain Socket)方式建立数据库连接时,不需要指定IP和端口。
zsql
{ CONNECT | CONN } / AS SYSDBA [ip:port] [-D /home/omm/data1]
其中[ip:port] 为可选项,若不指定则默认连接本地主机。
当数据库系统管理员起了多个数据库实例时,连接指定的数据库时,需要使用-D参数指定当前CN节点的DATA路径。
-q参数用于取消SSL登录认证检查。-s参数用于设置无提示模式执行SQL。
-w参数用于设置客户端连接数据库时的等待响应超时时间。取值范围:-1: 表示一直等待服务器响应,不超时;0:不等待超时,直接返回结果;n:等待n秒。默认值是10s。使用该参数后,zsql启动连接数据库时,设置等待超时时间为指定值,启动后,当前建立连接的等待响应超时时间、再次建立的新连接的等待响应超时时间以及查询超时时间均为设置值,退出zsql进程,设置失效。
GaussDB 100支持交互模式和非交互模式两种方式登录。
zsql user@ip:port [-D /home/omm/data1] [-q] [-w connect_timeout] [-s "silent_file"]根据提示输入密码。
Please enter password:交互方式登录2:
zsql
conn user@ip:port [-D /home/omm/data1]
根据提示输入密码。
Please enter password:非交互方式登录1:
zsql user/user_password@ip:port [-D /home/omm/data1] [-q] [-w connect_timeout] [-s "silent_file"]非交互方式登录2:
zsql
conn user/user_password@ip:port [-D /home/omm/data1]
其中,user为数据库用户名,password为数据库用户密码。ip:port为数据库所在主机的IP地址和端口号,默认端口号为8000。
当操作数据库系统管理员起了多个数据库实例时,连接指定的数据库时,需要使用-D参数指定数据库目录。
-q参数用于取消SSL登录认证检查。-s参数用于设置无提示模式执行SQL。
-w参数用于配置客户端连接数据库时的等待响应超时时间。取值范围:-1: 表示一直等待服务器响应,不超时;0:不等待超时,直接返回结果;n:等待n秒。默认值是10s。使用该参数后,zsql启动连接数据库时,设置等待超时时间为指定值,启动后,当前建立连接的等待响应超时时间、再次建立的新连接的等待响应超时时间以及查询超时时间均为设置值,退出zsql进程,设置失效。

对于交互方式登录1和非交互方式登录的连接,如果连接失败,退出zsql进程;而交互方式登录2连接失败时,不会退出zsql进程。
通过UDS登录数据库(不支持免密登录)。与通过TCP协议建立数据库连接的唯一不同是URL不一样。通过TCP协议建立数据库连接时,需要指定IP和端口,而通过UDS(Unix Domain Socket)方式建立数据库连接时,不需要指定IP和端口。
sql UDS默认连接{GSDB_DATA}/protect/gsdb_uds_emerg.server,用于紧急预留会话登录。普通用户登录若使用此配置,则会占用紧急预留会话资源。
如果要切换用于用户会话的UDS路径, 需要服务端和客户端分别配置监听的UDS socket文件,此时用户登录的会话不再占用紧急预留会话。以数据目录为/opt/gaussdb/data为例,修改监听的socket文件为server.socket,则配置如下:
服务端参数设置(需要重启数据库):
alter system set UDS_FILE_PATH='/opt/gaussdb/data/protect/server.socket'客户端参数设置:
set UDS_SERVER_PATH=/opt/gaussdb/data/protect/server.socket另外,客户端UDS标识也支持可配置(可选):
set UDS_CLIENT_PATH=***注意:UDS_FILE_PATH、UDS_SERVER_PATH、UDS_CLIENT_PATH在非默认配置情况下、均需要指定绝对路径名,否则会导致客户端由于无法找到监听文件而连接失败。如果连接失败,退出zsql进程。
GaussDB 100支持交互模式和非交互模式两种方式登录。
zsql user@uds -D /home/omm/data1 [-q] [-w connect_timeout] [-s "silent_file"]根据提示输入密码。
Please enter password:非交互方式登录:
zsql user/user_password@uds -D /home/omm/data1 [-q] [-w connect_timeout] [-s "silent_file"]其中,user为数据库用户名,password为数据库用户密码。uds是unix domain socket缩写,不区分大小写。
-q参数用于取消SSL登录认证检查。-s参数用于设置无提示模式执行SQL。
-w参数用于设置客户端连接数据库时的等待响应超时时间。取值范围:-1: 表示一直等待服务器响应,不超时;0:不等待超时,直接返回结果;n:等待n秒。默认值是10s。使用该参数后,zsql启动连接数据库时,设置等待超时时间为指定值,启动后,当前建立连接的等待响应超时时间、再次建立的新连接的等待响应超时时间以及查询超时时间均为设置值,退出zsql进程,设置失效。
omm@plat1~> zsql
SQL> CONN omm@127...1:8000
Please enter password:
***********
connected.
--启动zsql进程时设置等待响应超时时间为20s。启动后,当前建立连接的等待响应超时时间为20s。
zsql omm@127.0.0.1:8000 -w 20
Please enter password:
***********
connected.
--创建新用户jim,并赋予新用户CREATE SESSION权限。
DROP USER IF EXISTS jim;
CREATE USER jim IDENTIFIED BY database_123;
GRANT CREATE SESSION TO jim;
--切换用户,再次建立的新连接的等待响应超时时间也是20s。
CONN jim@127.0.0.1:8000
Please enter password:
***********
connected.
--退出zsql进程时,设置失效,之后新建立连接的等待响应超时时间仍然是默认值10s。
EXIT
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3142377/ ,如需转载,请注明出处,否则将追究法律责任。