瀚高数据库相关设置
瀚高数据库相关设置一、配置瀚高数据库局域网访问
需要修改两个文件:postgresql.conf和pg_hba.conf
1)在postgresql.conf中找到下述配置,把listen_addresses前面的解释去掉,值修改为*
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
修改为
# - Connection Settings -
# listen_addresses前面的注释去掉,把值设置为*
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
2)在pg_hba.conf最后位置找到下述配置,修改IPv4的相关配置
# TYPEDATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
修改为
# TYPEDATABASE USER ADDRESS METHOD
# IPv4 local connections:
# 注释掉原来的
#host all all 127.0.0.1/32 md5
# 把ADDRESS的值修改为0.0.0.0/0,接受任何地址的访问
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
3)修改完配置文件,重启数据库见效
二、安全版瀚高数据库,怎么利用第三方工具连接(Navicat)
安全版瀚高数据库,暗码的默认加密方式时sm3,导致无法利用第三方工具连接。
1)最小化改造,新建一个用户,暗码指定md5加密,新建一个数据库,把owner指定为新建的用户,比方
# 先通过命令行登录,再进行下述操作
# 查看密码加密方式
show password_encryption;
# 设置密码加密方式
set password_encryption to md5;
# 创建用户
create user test password 'Highgo@1234' valid until 'infinity';
# 创建数据库,并指定归属用户
create database dbtest owner=test encoding='utf8';
修改pg_hba.conf配置文件
# IPv4 local connections:
# 指定特定用户(例如test)连接时,密码的加密方式,特定用户配置需要放在前面,规则从前往后匹配
host all test 0.0.0.0/0 md5
# 把ADDRESS的值修改为0.0.0.0/0,接受任何地址的访问
host all all 0.0.0.0/0 sm3
经过上述配置后,就可以利用navicat,利用test用户登录了。
2)修改瀚高数据库默认加密方式为md5(数据库刚安装、独享数据库、其他方偶尔见的情况)。
# 命令行登录数据库
# 设置密码加密方式为md5
set password_encryption to md5;
# 在当前会话中修改管理员用户密码
alter user highgo password 'Hello@123' valid until 'infinity';
# 修改postgresql.conf
# 默认
#password_encryption = sm3 # md5, sm3 or scram-sha-256
# 密码加密方式的值修改为md5
password_encryption = md5
# 修改pg_hba.conf
# 连接加密方法,sm3全部改为md5
# TYPEDATABASE USER ADDRESS METHOD
# IPv4 local connections:
# host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
重启数据库,第三方工具实行连接
三、通过sql查看认证信息
# 登录数据库,通过sql查看认证信息,通过rolpassword可以看出密码采用哪种加密方式。例如highgo的密码采用的sm3加密方式,test用户的密码采用md5加密方式。
highgo=# select rolname,rolpassword from pg_authid;
rolname | rolpassword
---------------------------+---------------------------------------------------------------------
pg_monitor |
pg_read_all_settings |
pg_read_all_stats |
pg_stat_scan_tables |
pg_read_server_files |
pg_write_server_files |
pg_execute_server_program |
pg_signal_backend |
highgo | sm3ae987c45185be33b5cc98702bb7c18879ffe4da1e9e790ff0b683a33052420fd
test | md551d7479414a868138fccd56a558ccc06
(10 行记录)
四、psql相关操纵
联接选项:
-h, --host=主机名 数据库服务器主机或socket目录(默认:"本地接口")
-p, --port=端口 数据库服务器的端口(默认:"5866")
-U, --username=用户名 指定数据库用户名
-d, --dbname=DBNAME 指定要连接的数据库
# 连接瀚高数据库时,常用写法。注意,如果pg_hba.conf中配置了多种访问加密方法,连接字符串中尽量写明-h ip地址, 不然可能会匹配不上(有待研究)。
psql -U highgo
psql -U highgo -h 127.0.0.1
psql -U highgo -p 5866 -h 127.0.0.1
psql -U highgo -p 5866 -h 127.0.0.1 -d highgo
五、其他留意事项
# 修改密码会重置账户有效期,默认七天
alter user test password 'Word@123';
# 修改密码时,需要加上valid until 'infinity',指定密码无期限
alter user test password 'Word@123' valid until 'infinity';
# 不修改密码,设置密码过期时间为无期限
alter user highgo valid until 'infinity';
小尾巴~~
只要有积累,就会有进步
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]