一名数据库爱好者

一名数据库爱好者

引言:

人大金仓作为国产数据库的佼佼者(单机),也是每位数据库从业者必须数据库之一

配置文件

kingbase 服务器配置(参数修改)-LMLPHP

kingbase 参数配置 主要由 kingbase.confkingbase.auto.conf 设置

kingbase.conf

该参数文件为主配置文件,一般情况下,需要 重启数据库后生效的参数 需要修改该文件。文件路径在 数据库数据目录下

kingbase.auto.conf

该参数为辅助参数文件,修改 全局生效的参数参数 或者 通过 ALTER SYSTEM命令修改 需要重启数据库后生效的参数 信息会记录到该文件中,优先级比 kingbase.conf 高,文件路径在 数据库数据目录下

判断重启参数

方式一

通过查看配置文件 kingbase.conf 中参数后面的注释判断

kingbase 服务器配置(参数修改)-LMLPHP

图中 portmax_connections 参数后面出现 change requires restart 提示 ,说明该参数修改后需要重启

方式二

通过查看 参数视图 sys_settings 中的 context 字段 来判断。该视图记录所有参数的信息

kingbase 服务器配置(参数修改)-LMLPHP

查看

kingbase 服务器配置(参数修改)-LMLPHP

图中 allow_system_table_mods 参数的 content 值为 kingbase ,说明该参数修改完需要重启数据库才能生效

修改重启参数

以内存缓冲区 shared_buffers 为例,默认为 128M 目前配置文件修改为256M

kingbase 服务器配置(参数修改)-LMLPHP

查看修改是否生效

[kingbase@localhost data]$ ksql test system
用户 system 的口令:
输入 "help" 来获取帮助信息.


test=#
test=#
test=#
test=# show shared_buffers;
 shared_buffers
----------------
 128MB
(1 行记录)


test=#
test=#

查看到未生效

重启数据库

[kingbase@localhost data]$ sys_ctl -D  /opt/Kingbase/ES/V8/data/ restart
等待服务器进程关闭 .... 完成
服务器进程已经关闭
等待服务器进程启动 ....2024-03-14 20:51:00.799 CST [9230] 日志:  sepapower扩展初始化完成
2024-03-14 20:51:00.858 CST [9230] 日志:  正在启动 KingbaseES V008R006C008B0014 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
2024-03-14 20:51:00.858 CST [9230] 日志:  正在监听IPv4地址"0.0.0.0",端口 54321
2024-03-14 20:51:00.858 CST [9230] 日志:  正在监听IPv6地址"::",端口 54321
2024-03-14 20:51:00.860 CST [9230] 日志:  在Unix套接字 "/tmp/.s.KINGBASE.54321"上侦听
2024-03-14 20:51:00.897 CST [9230] 日志:  日志输出重定向到日志收集进程
2024-03-14 20:51:00.897 CST [9230] 提示:  后续的日志输出将出现在目录 "sys_log"中.
 完成
服务器进程已经启动
[kingbase@localhost data]$

查看参数

[kingbase@localhost data]$ ksql test system
用户 system 的口令:
输入 "help" 来获取帮助信息.


test=#
test=# show shared_buffers;
 shared_buffers
----------------
 256MB
(1 行记录)

修改成功

修改普通参数(不需要重启)

方式一

work_mem 参数默认值为 4M

test=# show work_mem;
 work_mem
----------
 4MB
(1 行记录)


test=#
test=#

使用 ALTER 命令修改

test=# alter system set work_mem = '12MB';  ---修改
ALTER SYSTEM
test=#
test=# select sys_reload_conf();            ---重新读取
 sys_reload_conf
-----------------
 t
(1 行记录)


test=#
test=# show work_mem;
 work_mem
----------
 12MB
(1 行记录)

查看 kingbase.auto.conf

 [kingbase@localhost data]$ cat kingbase.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
work_mem = '12MB'

可以看到 修改过的参数 已经记录到 辅助参数文件中

方式二

通过修改主配置文件

kingbase 服务器配置(参数修改)-LMLPHP

配置文件中修改为 12M

重新加载,读取文件

[kingbase@localhost data]$ sys_ctl reload
服务器进程发出信号

查看参数值

[kingbase@localhost data]$ ksql test system
用户 system 的口令:
输入 "help" 来获取帮助信息.


test=#
test=#
test=#
test=# show work_mem;
 work_mem
----------
 12MB
(1 行记录)


test=# exit

修改成功

注意: 使用第二种修改方法,前提需要保证 kingbase.auto.conf 里没有目标参数的值。如果存在,参数值以 kingbase.auto.conf 文件里的为准,需要编辑取消该文件里的值。

03-18 23:36