目前的GBase 8a版本还不能通过一个SQL设置所有节点的单个用户的最大连接数,本文提供一种替代方法可以达到相同的目的。
注意所有操作,在每个对外连接的调度(gcluster)节点都要执行。如果用户有可能直接连接gnode,且也要限制,那就每个数据节点也执行。
通过update更新指定用户最大连接数配置
Query OK, 1 row affected (Elapsed: 00:00:00.00)
Rows matched: 1 Changed: 1 Warnings: 0
gbase> select * from user where user='u1'\G;
*************************** 1. row ***************************
Host: %
User: u1
Password: *556BEF296211C2AF58F53DA3EDDD0A3371B6ECD5
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
Event_priv: N
Trigger_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 1
max_cpus: 0
max_memories: 0
max_tmp_space: 0
resource_group: 0
task_priority: 2
user_limit_storage_size:
user_storage_size: 0
UID: 14337
1 row in set (Elapsed: 00:00:00.00)
刷新权限信息
gbase> flush privileges;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)
验证
尝试同时连接超过设定的并发数,会出现如下的报错信息:User ‘u1’ has exceeded the ‘max_user_connections’ resource (current value: 1)
[root@gbase101 ~]# gccli -uu1 -pu1
ERROR 1226 (42000): User 'u1' has exceeded the 'max_user_connections' resource (current value: 1)
[root@gbase101 ~]#
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




