首页 > 其他分享 >磐维和sharding之用户管理

磐维和sharding之用户管理

时间:2024-02-19 21:14:23浏览次数:36  
标签:bin rw 用户 omm 维和 pg sharding dsg

目录

概念描述

架构sharding+zookeeper+(3主6备)的数据库,业务需要新建用户,通过连接sharding进行增删改查。

测试验证

一、实验环境

节点类别 主机名 IP 端口 工具
主节点a testa1 192.168.3.13 3307 sharding和zookeeper
备节点a testa2 192.168.3.14 3307 -
主节点b testb1 192.168.3.15 3307 sharding和zookeeper
备节点b testb2 192.168.3.16 3307 -
主节点c testc1 192.168.3.17 3307 sharding和zookeeper
备节点c testc2 192.168.3.18 3307 -

二、实验认证

1、新建个人用户在sharding层还是数据库层

1.1 sharding和数据库都创建

1.1.1 修改sharding的参数文件

authority:
  users:
    - user: dsg
      password: dsg_2023!
    - user: dbmt
      password: Bcv_1308
  privilege:
    type: ALL_PERMITTED


1.1.2 在数据库层创建

PanWeiDB=# create user dsg identified by "dsg_2023!";
NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
PanWeiDB=# alter user dsg Sysadmin;
ALTER ROLE
PanWeiDB=# \du
                                                              List of roles
 Role name |                                                    Attributes                                                    | Member of 
-----------+------------------------------------------------------------------------------------------------------------------+-----------
 dbmt      | Sysadmin                                                                                                         | {}
 dsg       | Sysadmin                                                                                                         | {}
 jiangyue  |                                                                                                                  | {}
 ljc       | Sysadmin                                                                                                         | {}
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}
 ssp       |                                                                                                                  | {}

1.1.3 用dsg用户连接数据库

[omm@testa1 conf]$  gsql -h 192.168.3.17 -p 3307 -U dsg-W Bcv_1308 -d sharding_db
gsql: ERROR:  FATAL: unknown username: dsg
[omm@testa1 conf]$ 

注:经过查询相关文档 ,发现必须重启!!!!!!

1.1.4 重启sharding+zookeeper

注: sharding和 zk 所有节点一起停

1、删除zk的version-2
[omm@bin]$ cd /enmo/zookeeper/
[omm@zookeeper]$ ll
total 12356
-rw-r--r-- 1 omm omm 12649765 Oct 21 12:07 apache-zookeeper-3.7.1-bin.tar.gz
drwxr-xr-x 8 omm omm      202 Oct 21 12:59 zk
[omm@testa1 zookeeper]$ cd zk
[omm@testa1 zk]$ ll
total 44
drwxr-xr-x 2 omm omm  4096 May  7  2022 bin
drwxr-xr-x 2 omm omm    92 Oct 21 12:48 conf
drwxr-xr-x 5 omm omm  4096 May  7  2022 docs
drwxr-xr-x 2 omm omm  4096 Oct 21 12:09 lib
-rw-r--r-- 1 omm omm 11358 May  7  2022 LICENSE.txt
drwx------ 2 omm omm    74 Oct 21 12:59 logs
-rw------- 1 omm omm     2 Oct 21 12:58 myid
-rw-r--r-- 1 omm omm  2084 May  7  2022 NOTICE.txt
-rw-r--r-- 1 omm omm  2214 May  7  2022 README.md
-rw-r--r-- 1 omm omm  3570 May  7  2022 README_packaging.md
drwx------ 2 omm omm   170 Dec 18 17:32 version-2               《《《《《《《《《《《《《
-rw------- 1 omm omm     5 Dec 18 17:31 zookeeper_server.pid
[omm@zk]$ cd version-2/
[omm@version-2]$ ll
total 2928
-rw------- 1 omm omm        1 Dec 18 17:31 acceptedEpoch
-rw------- 1 omm omm        1 Dec 18 17:31 currentEpoch
-rw------- 1 omm omm 67108880 Oct 21 13:11 log.100000001
-rw------- 1 omm omm 67108880 Oct 25 12:58 log.200000001
-rw------- 1 omm omm 67108880 Oct 25 14:23 log.300000001
-rw------- 1 omm omm 67108880 Nov 15 16:56 log.400000001
-rw------- 1 omm omm 67108880 Dec 18 20:07 log.500000001
-rw------- 1 omm omm      598 Oct 21 12:59 snapshot.0
[omm@testa1 version-2]$ rm -rf *

2、停sharding和zk (所有节点)
[omm@bin]$ zkServer.sh stop
/bin/java
ZooKeeper JMX enabled by default
Using config: /enmo/zookeeper/zk/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
[omm@bin]$ cd /enmo/s
shardingsphere/ soft/           
[omm@bin]$ cd /enmo/shardingsphere/ssp/bin/
[omm@bin]$ ll
total 16
-rwx------ 1 omm omm 3313 Dec  6  2022 start.bat
-rwx------ 1 omm omm 6419 Dec  6  2022 start.sh
-rwx------ 1 omm omm 1455 Dec  6  2022 stop.sh
[omm@bin]$  cd /enmo/shardingsphere/ssp/bin/
[omm@bin]$  stop.sh
Stopping the ShardingSphere-Proxy ....OK!
PID: 23433

3、起sharding和zk (所有节点)

[omm@bin]$ zkServer.sh start
/bin/java
ZooKeeper JMX enabled by default
Using config: /enmo/zookeeper/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[omm@bin]$ start.sh
/bin/java
we find java version: java8, full_version=1.8.0_181, full_path=/bin/java
The classpath is /enmo/shardingsphere/ssp/conf:/enmo/shardingsphere/ssp/conf:.:/enmo/shardingsphere/ssp/lib/*:/enmo/shardingsphere/ssp/ext-lib/*
main class org.apache.shardingsphere.proxy.Bootstrap -1 /enmo/shardingsphere/ssp/conf 0.0.0.0 false
Starting the ShardingSphere-Proxy ... PID: 25411
Please check the STDOUT file: /enmo/shardingsphere/ssp/logs/stdout.log
[omm@bin]$ 
[omm@bin]$ 

1.1.5 用dsg用户连接库

[omm@testa1 bin]$ gsql -h 192.168.3.13 -p 3307 -U dsg -W dsg_2023! -d sharding_db
gsql ((PanWeiDB(openGauss) 1.0.0 build 9a7e96bc) compiled at 2022-10-15 20:54:36 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

sharding_db=> 

1.2 数据库没有dsg用户

1.2.1 删除dsg用户


PanWeiDB=# \du
                                                              List of roles
 Role name |                                                    Attributes                                                    | Member of 
-----------+------------------------------------------------------------------------------------------------------------------+-----------
 dbmt      | Sysadmin                                                                                                         | {}
 dsg       | Sysadmin                                                                                                         | {}
 jiangyue  |                                                                                                                  | {}
 ljc       | Sysadmin                                                                                                         | {}
 omm       | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {}
 ssp       |                                                                                                                  | {}

PanWeiDB=# drop user dsg;
DROP ROLE

1.2.2 重启sharding+zookeeper

注: sharding和 zk 所有节点一起停

1、删除zk的version-2
[omm@bin]$ cd /enmo/zookeeper/
[omm@zookeeper]$ ll
total 12356
-rw-r--r-- 1 omm omm 12649765 Oct 21 12:07 apache-zookeeper-3.7.1-bin.tar.gz
drwxr-xr-x 8 omm omm      202 Oct 21 12:59 zk
[omm@zookeeper]$ cd zk
[omm@zk]$ ll
total 44
drwxr-xr-x 2 omm omm  4096 May  7  2022 bin
drwxr-xr-x 2 omm omm    92 Oct 21 12:48 conf
drwxr-xr-x 5 omm omm  4096 May  7  2022 docs
drwxr-xr-x 2 omm omm  4096 Oct 21 12:09 lib
-rw-r--r-- 1 omm omm 11358 May  7  2022 LICENSE.txt
drwx------ 2 omm omm    74 Oct 21 12:59 logs
-rw------- 1 omm omm     2 Oct 21 12:58 myid
-rw-r--r-- 1 omm omm  2084 May  7  2022 NOTICE.txt
-rw-r--r-- 1 omm omm  2214 May  7  2022 README.md
-rw-r--r-- 1 omm omm  3570 May  7  2022 README_packaging.md
drwx------ 2 omm omm   170 Dec 18 17:32 version-2               《《《《《《《《《《《《《
-rw------- 1 omm omm     5 Dec 18 17:31 zookeeper_server.pid
[omm@zk]$ cd version-2/
[omm@version-2]$ ll
total 2928
-rw------- 1 omm omm        1 Dec 18 17:31 acceptedEpoch
-rw------- 1 omm omm        1 Dec 18 17:31 currentEpoch
-rw------- 1 omm omm 67108880 Oct 21 13:11 log.100000001
-rw------- 1 omm omm 67108880 Oct 25 12:58 log.200000001
-rw------- 1 omm omm 67108880 Oct 25 14:23 log.300000001
-rw------- 1 omm omm 67108880 Nov 15 16:56 log.400000001
-rw------- 1 omm omm 67108880 Dec 18 20:07 log.500000001
-rw------- 1 omm omm      598 Oct 21 12:59 snapshot.0
[omm@version-2]$ rm -rf *

2、停sharding和zk (所有节点)
[omm@bin]$ zkServer.sh stop
/bin/java
ZooKeeper JMX enabled by default
Using config: /enmo/zookeeper/zk/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
[omm@bin]$ cd /enmo/s
shardingsphere/ soft/           
[omm@bin]$ cd /enmo/shardingsphere/ssp/bin/
[omm@bin]$ ll
total 16
-rwx------ 1 omm omm 3313 Dec  6  2022 start.bat
-rwx------ 1 omm omm 6419 Dec  6  2022 start.sh
-rwx------ 1 omm omm 1455 Dec  6  2022 stop.sh
[omm@bin]$  cd /enmo/shardingsphere/ssp/bin/
[omm@bin]$  stop.sh
Stopping the ShardingSphere-Proxy ....OK!
PID: 23433

3、起sharding和zk (所有节点)

[omm@bin]$ zkServer.sh start
/bin/java
ZooKeeper JMX enabled by default
Using config: /enmo/zookeeper/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[omm@bin]$ start.sh
/bin/java
we find java version: java8, full_version=1.8.0_181, full_path=/bin/java
The classpath is /enmo/shardingsphere/ssp/conf:/enmo/shardingsphere/ssp/conf:.:/enmo/shardingsphere/ssp/lib/*:/enmo/shardingsphere/ssp/ext-lib/*
main class org.apache.shardingsphere.proxy.Bootstrap -1 /enmo/shardingsphere/ssp/conf 0.0.0.0 false
Starting the ShardingSphere-Proxy ... PID: 25411
Please check the STDOUT file: /enmo/shardingsphere/ssp/logs/stdout.log

1.2.3 用dsg用户连接库

[omm@bin]$ gsql -h 192.168.3.13 -p 3307 -U dsg -W dsg_2023! -d sharding_db
gsql ((PanWeiDB(openGauss) 1.0.0 build 9a7e96bc) compiled at 2022-10-15 20:54:36 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

sharding_db=> 

结论:经过以上实验验证,发现sharding+磐维的架构 新建的用户跟数据库没有关系,只需要在sharding的参数文件中配置即可,但是需要重启!!!。

2、修改个人用户密码

2.1 修改sharding的参数文件

authority:
  users:
    - user: dsg
      password: Bcv_1308
    - user: dbmt
      password: Bcv_1308
  privilege:
    type: ALL_PERMITTED

2.2 连接测试


[omm@conf]$ 
[omm@conf]$  gsql -h 192.168.3.13 -p 3307 -U dsg -W Bcv_1308 -d sharding_db
gsql: ERROR:  FATAL: password authentication failed for user "dsg"     <<<<
[omm@conf]$  gsql -h 192.168.3.13 -p 3307 -U dsg -W dsg_2023! -d sharding_db
gsql ((PanWeiDB(openGauss) 1.0.0 build 9a7e96bc) compiled at 2022-10-15 20:54:36 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

结论:经过以上实验验证,发现sharding+磐维的架构 修改用户密码需要重启!!!,没有重启之前老密码还是可以用

3、删除dsg个人用户

3.1 修改sharding的参数文件

authority:
  users:
    - user: dbmt
      password: Bcv_1308
  privilege:
    type: ALL_PERMITTED

3.2 连接测试


[omm@conf]$  gsql -h 192.168.3.13 -p 3307 -U dsg -W dsg_2023! -d sharding_db
gsql ((PanWeiDB(openGauss) 1.0.0 build 9a7e96bc) compiled at 2022-10-15 20:54:36 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

结论:经过以上实验验证,发现sharding+磐维的架构 删除个人用户需要重启!!!,没有重启用户还是可以用

4、用dsg用户连的sharding ,数据库层是哪个用户

1种.直接查看这个current_user
sharding_db=> 
sharding_db=> 
sharding_db=> 
sharding_db=> select * from current_user;
 current_user 
--------------
 dbmt
(1 row)
第二种 ,gsql -r 看数据库里的会话
=# select datname,pid,usename,to_char(query_start,'mm-dd hh24:mi:ss') as query_start,waiting,state,query from pg_stat_activity ;
 datname  |       pid       | usename |  query_start   | waiting | state  |                                                                                                                    query                                     
                                                                                
----------+-----------------+---------+----------------+---------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------
 data_312 | 140120623519488 | dbmt    | 12-20 09:07:23 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 data_311 | 140120640300800 | dbmt    | 12-20 09:07:23 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 data_310 | 140120657082112 | dbmt    | 12-20 09:07:10 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 postgres | 140120673863424 | omm     | 12-20 09:07:29 | f       | active | select datname,pid,usename,to_char(query_start,'mm-dd hh24:mi:ss') as query_start,waiting,state,query from pg_stat_activity ;
 data_310 | 140120841709312 | dbmt    | 12-20 09:07:23 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 data_311 | 140120707426048 | dbmt    | 12-20 09:07:14 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 data_312 | 140120690644736 | dbmt    | 12-20 09:07:14 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 data_311 | 140120959186688 | dbmt    | 12-20 09:07:10 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 data_310 | 140120606738176 | dbmt    | 12-20 09:07:14 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 data_312 | 140120724207360 | dbmt    | 12-20 09:07:10 | f       | idle   | SELECT relname, relnamespace, relkind, reloptions FROM pg_catalog.pg_class WHERE relkind IN ('r','v','m','S','L','f','e','o','') AND relname NOT LIKE 'matvie
wmap\_%' AND relname NOT LIKE 'mlog\_%' AND pg_catalog.pg_table_is_visible(oid)
 postgres | 140121009530624 | omm     |                | f       |        | 
 postgres | 140121026311936 | omm     |                | f       |        | 

发现连接数据库的用户是dbmt用户,这个dbmt用户是数据源的用户

    minPoolSize: 1
  ds_8:                      #可配置多个数据源
    url: jdbc:opengauss://192.168.3.17:15400,192.168.3.18:15400/data_318?targetServerType=master&loadBalanceHosts=true&connectionExtraInfo=true
    username: dbmt
    password: Bcv_1308
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50
    minPoolSize: 1       

结论:经过以上实验验证,发现sharding+架构 ,个人用户通过sharing连接数据库都是dbmt用户,为以后找出哪个个人用户跑的sql留下隐患

知识总结

无论是新建个人用户、修改个人用户的密码、删除个人用户 ,都需要重启sharding和zookeeper,不能滚动重启,必须所有节点停掉,然后在起来

标签:bin,rw,用户,omm,维和,pg,sharding,dsg
From: https://www.cnblogs.com/xinxin1222/p/18021962

相关文章

  • ptk安装磐维(cmdb)+zookeeper+shardingsphere
    目录一、概览1.1、ShardingSphere-Proxy1.2、ShardingSphere特性二、环境准备2.1、ip规划2.2、修改主机名2.3、关闭防火墙和透明大页(所有节点)2.4配置yum,安装系统包2.5修改系统参数2.6创建omm用户和用户组及目录三、PTK安装磐维数据库(所有节点都要操作)3.1PTK介绍3.2下......
  • Mogdb / opengauss 用户密码错误,用户被锁
    问题概述xxx客户新上一套opengauss数据库,在测试中程序里用户的密码配置错误,导致用户被锁解决方案1、跟oracle语法一样alteruserxxxaccountunlock;2、需要等一天后自动解锁模拟问题因没有opengauss的环境,测试环境选择Mogdb1、准备测试环境,输入错误的密码。如下[omm@......
  • password_encryption_type 和 pg_hba.conf 不匹配导致用户连不上
    问题概述xxx客户新上一套opengauss数据库,在测试中用户输入正确的密码,提示用户密码错误,导致用户被锁问题原因password_encryption_type和pg_hba.conf不匹配导致用户连不上模拟问题因没有opengauss的环境,测试环境选择Mogdb1、准备测试环境,修改password_encryption_type。......
  • R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视
    全文链接:http://tecdat.cn/?p=30360最近我们被客户要求撰写关于网络购物用户行为的研究报告,包括一些图形和统计输出。随着网络的迅速发展,依托于网络的购物作为一种新型的消费方式,在全国乃至全球范围内飞速发展电子商务成为越来越多消费者购物的重要途径。我们被客户要求撰写关......
  • 如何实现基于vue技术的管理系统的用户是否登录
    问题:在进行前后端分离开发时候,我们会处理一些前端用户的登录状态。如果用户没有进行登录,则不允许用户访问某些页面一、登录方式首先可以先了解一下前后端分离后的登录方式(1)Cookie+Session(2)Token二、Cookie+SessionHTTP是一种无状态的协议,客户端每次发送请求时,首先要和服务......
  • 100 行代码实现用户登录注册与 RESTful 接口 - 手把手教程附 Python 源码
    在开发大多数应用时,用户系统都是必不可少的部分,而我们总是需要开发围绕用户的登录,注册,获取,更新等接口。在这篇文章将带你用一百多行代码简洁地实现一套这样的用户鉴权与RESTful接口,并使用Session来处理用户的登录登出我们将使用UtilMeta框架完成接口开发,这是一个开源的Py......
  • 【高可用高性能环境】多用户、高并发环境研究设计与测试验证
    在设计和测试多用户、高并发环境时,需要考虑以下几个方面:一、架构设计:采用分布式架构,将系统拆分为多个服务,每个服务负责不同的功能,降低单点故障风险。使用负载均衡技术,将流量均匀地分发到不同的服务器上,提高系统整体性能和可用性。二、数据库设计:使用适当的数据库技术,如主从复......
  • 免费工具 Winsw 和 NSSM 适合对服务管理功能有一定要求的用户,且不想花费额外费用;SRVAN
    免费工具:SRVANY:优点:允许将任何可执行文件转换为服务。Windows自带工具,无需额外安装。简单易用,适合基本的服务管理需求。缺点:功能相对简单,不支持高级的服务管理功能。不再得到官方支持和更新,可能存在一些稳定性问题。Winsw:优点:简单易用,提供了一个简单的配置......
  • WPF新境界:MVVM设计模式解析与实战,构建清晰可维护的用户界面
     概述:MVVM是一种在WPF开发中广泛应用的设计模式,通过将应用程序分为模型、视图、和视图模型,实现了解耦、提高可维护性的目标。典型应用示例展示了如何通过XAML、ViewModel和数据绑定创建清晰、可测试的用户界面。什么是MVVM?MVVM(Model-View-ViewModel)是一种用于构建用户界面的......
  • 小米手机 adb shell 用户 组 相关命令和输出记录
    cas:/$iduid=2000(shell)gid=2000(shell)groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid)context=u:r:shell:s0cas:/$groupsinputlog......