- 安装Data Studio
Data Studio工具可以通过华为企业产品技术支持网站(https://support.huawei.com/enterprise/zh/index.html)进行下载。根据自己的客户端下载对应软件并解压,点击Data Studio.exe即可使用(运行需要安装java 1.8_141以上的版本)否则会报错。
2.使用Data Studio连接数据库
1)创建用户,并进行赋权:
SQL> create user wangxin identified by wangxin_123;
SQL> grant connect,resource to wangxin;
其中,connect和resource包含CREATE SESSION,CREATE TRIGGER,CREATE TABLE,CREATE SEQUENCE,CREATE PROCEDURE权限。
2)通过本地连接数据库进行验证:
zsql user/user_password@127.0.0.1:1888
可以看到,此时连接成功,并可以列出user_tables的表结构。
3)然后利用Data Studio连接数据库:
分别选择数据库类型、填写名称、主机、端口号、用户名、密码。
点击确定进行登陆,但发现出现如下报错:
我们从报错信息上可以看到,报错代码是GS-00331。通过GaussDB 100的用户使用手册查询,GS-00331错误是由于客户端IP地址不在白名单内,不允许连接造成的(其实在界面上的errMsg错误处也可以看到造成该错误代码的原因)。
那么,该如何增加白名单呢?我们可以通过以下两种方式进行添加:
(1)修改配置文件,并在线reload hba config实现:
在GAUSSDB_DATA目录下,找到cfg目录,然后修改zhba.conf文件;在文件中加入host * IP;保存退出,然后再数据库中reload hba config即可。
SQL> alter system reload hba config;
或者将zhba.conf清空,然后再数据库中reload hba config即可(zhba.conf为空,表示可以从任何节点,用任何用户登陆数据库,但是zhba.conf清空后,由于没有127.0.0.1的认证规则,分布式集群下,SYS用户无法使用“zsql / as clsmgr”本地登录CN。)
再次通过Data Studio登陆数据库:
发现此时数据库依然无法登陆,但是错误信息发生了变化,变成了GS-01001,通过errMsg错误信息可以发现,此时错误是由于权限不足导致,但是在创建的时候,我们已经赋予了connect和resource权限,按理来说应该可以正常连接了。这又是怎么回事儿呢?
我们接着往下看,在客户端错误提示栏中最后的sql=…部分,可以清楚的看到,此时正在执行一个从sys_data_nodes表中读取node_type信息的sql语句,而该表属于sys用户。
此时,我们可以尝试着将读取sys.sys_data_nodes的权限赋予该用户,并重新登陆。
SQL> grant select on sys.sys_data_nodes to user;
发现此时,还要读取sys.dv_sessions和sys.dv_me两张表,我们只能继续赋权限。
可是,工具还要读取tablespace的权限。
看来,Data Studio工具通过普通用户连接数据库的时候,还是需要读取很多的sys用户下的表才行。那么,为了方便或者快速使用,我们可以直接将select any table权限赋给普通用户
SQL> grant select any table to user;
可以看到,此时普通用户已经通过Data Studio已经成功连接了数据库,并且可以做相关操作。
但是需要注意的是数据库安全所要求的都是权限最小化管理。如果有了select any table权限,则在一些单位、公司可能是不允许的,那么此时我们就只能一个一个去赋权了。
不过最后,我测试了一下,证实了,Data Studio登陆除了用户需要connect权限外,只需要sys用户下的另外五个权限就够,具体如下:
grant select on sys.sys_data_nodes to user;
grant select on sys.dv_sessions to user;
grant select on sys.dv_me to user;
grant select on sys.dv_tablespaces to user;
grant select on sys.db_users to user;
grant select on sys.adm_users to user;
grant select on sys.sys_roles to user;
(2)通过配置数据库中的TCP_INVITED_NODES参数:
SQL> ALTER SYSTEM SET TCP_INVITED_NODES =‘192.168.129.1’;
SQL> ALTER SYSTEM SET TCP_VALID_NODE_CHECKING = true;
即可登陆。
以上两种方法均可,第二种操作比较少可以直接通过数据库层完成;第一种方法比较好理解,但是需要操作系统的相关权限。
最后修改时间:2019-12-03 17:03:33
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
请问哪里可以下载高斯数据库?
5年前

1
欢迎持续分享gaussdb文章。
5年前

评论
相关阅读
147.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之事件处理
若城
91次阅读
2025-03-19 22:47:23
海外代理IP哪家好用?2025年全球代理IP服务商深度测评
IPFLY全球代理
43次阅读
2025-02-28 17:02:39
AMI发布AMI Data Center Manager 6.0,强化数据中心AI和GPU管理能力
全球TMT
37次阅读
2025-03-02 20:56:45
行锁跟踪
www
34次阅读
2025-03-05 16:12:16
oracle常用的数据字典
起鼓隆冬强
34次阅读
2025-02-25 14:46:37
Oracle优化-检查Oracle数据库性能
张静懿
31次阅读
2025-03-22 13:53:22
AI 如何重塑数据湖的未来
ProtonBase
29次阅读
2025-03-21 14:22:32
硬货!深度解析PostgreSQL三大核心故障
呆呆的私房菜
29次阅读
2025-03-04 09:47:16
dg修复
www
28次阅读
2025-03-05 16:16:26
dg状态查看
www
28次阅读
2025-03-05 16:10:23