KingbaseES数据库运维案例之---修改unix_socket_directories参数

案例说明:
unix_socket_directories指定服务器用于监听来自客户端应用的连接的 Unix 域套接字目录。默认值通常是 /tmp ,但是在编译时可以被改变。这个参数只能在服务器启动时设置。
适用版本:
KingbaseES V8R6

一、配置参数

1、查看默认配置

test=# show unix_socket_directories;
 unix_socket_directories
-------------------------
 /tmp
(1 row)

2、修改参数配置
如下所示,可以在kingbase.conf文件或alter system修改kingbase.auto.conf配置文件:

[kingbase@node201 bin]$ cat /home/kingbase/db/v9/data/kingbase.conf |grep unix_socket_directories
unix_socket_directories = '/home/kingbase'      # comma-separated list of directories
或者:
alter system set unix_socket_directories = '/home/kingbase';

二、重启数据库服务
如下所示,数据库服务启动后,socket文件存储位置改为新的目录下:

[kingbase@node201 bin]$ ./sys_ctl start -D /home/kingbase/db/v9/data/
waiting for server to start....2024-07-17 17:44:24.176 CST [16471] LOG:  sepapower extension initialized
2024-07-17 17:44:24.180 CST [16471] LOG:  starting KingbaseES V009R001C001B0030 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
2024-07-17 17:44:24.180 CST [16471] LOG:  listening on IPv4 address "0.0.0.0", port 54328
2024-07-17 17:44:24.180 CST [16471] LOG:  listening on IPv6 address "::", port 54328
2024-07-17 17:44:24.183 CST [16471] LOG:  listening on Unix socket "/home/kingbase/.s.KINGBASE.54328"
......
server started

三、ksql连接数据库服务

1、连接失败
如下所示,默认ksql连接仍然是连接到默认的socket目录下:

[kingbase@node201 bin]$ ./ksql -U system test -p 54328
ksql: error: could not connect to server: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.KINGBASE.54328"?

2、指定-h连接
如下所示,用-h参数指定socket修改的目录,连接成功:

[kingbase@node201 bin]$ ./ksql -U system test -p 54328 -h /home/kingbase
Type "help" for help.

test=# show  unix_socket_directories;
 unix_socket_directories
-------------------------
 /home/kingbase
(1 row)
posted @ 2024-07-18 14:00  天涯客1224  阅读(1)  评论(0编辑  收藏  举报