人大金仓大小敏感设置
在KingbaseV8R6中,设置数据库为大小写不敏感需要在初始化数据库时通过特定参数配置,且安装后无法直接修改配置文件实现。
以下手动通过命令更改,把敏感 改为 不敏感是具体操作步骤及注意事项:
一、设置步骤
我的安装目录是/opt/Kingbase/ES/V8/Server/bin
-
备份数据
使用
sys_dump
工具备份所有数据库数据,避免初始化导致数据丢失。cd /opt/Kingbase/ES/V8/Server/bin ./sys_dump -p 端口 -U system -f 备份文件名.dump.dmp 数据库名 例如: ./sys_dump -p 54321 -U system -f ikj_pubsys.dmp ikj_pubsys 然后输入密码
-
停止数据库服务
cd /opt/Kingbase/ES/V8/Server/bin ./sys_ctl -D /数据库安装目录/data stop #我的数据目录 ./sys_ctl -D /opt/Kingbase/ES/V8/data stop
-
备份并清空原数据目录
将原
data
目录备份(如data.bak
),然后清空原目录内容:cp -r /opt/Kingbase/ES/V8/data /opt/Kingbase/ES/V8/data.bak rm -rf /opt/Kingbase/ES/V8/data
-
重新初始化数据库(启用大小写不敏感)
进入
/opt/Kingbase/ES/V8/Server/bin
目录,执行以下命令:./initdb -Usystem -W --enable-ci -D /opt/Kingbase/ES/V8/data
-Usystem
:管理员用户(默认为SYSTEM
)-W
:提示输入密码(需与原管理员密码一致)--enable-ci
:启用大小写不敏感(关键参数)
-
恢复配置文件
- 将备份的
data.bak
目录中的kingbase.conf
和sys_hba.conf
复制到新data
目录,避免配置丢失。
- 将备份的
-
启动数据库并验证
启动服务:
./sys_ctl -D /opt/Kingbase/ES/V8/data start
登录数据库检查参数:
show enable_ci; -- 返回`on`表示成功
-
还原数据
使用
ksql
导入备份文件:先登录默认数据库test
./ksql -p 54321 -U system -d test #创建目标数据库,如ikj_pm_ndsl create database ikj_pm_ndsl; #切换数据库 \c ikj_pm_ndsl
导入数据
\i '数据目录.dmp' #例如 \i './sql/ikj_pm_ndsl.dmp'
二、注意事项
-
版本差异
V8R6使用
enable_ci
参数,而旧版本(如V8R3)使用--case-insensitive
,需区分。 -
初始化不可逆
重新初始化会清空原数据目录,必须提前备份数据。
-
用户权限
需使用数据库管理员账户(如
SYSTEM
)操作,且确保执行命令的用户对目录有读写权限。 -
配置文件同步
若原数据库有自定义配置(如端口、内存参数),需手动从备份的配置文件中恢复。
三、常见问题
- 初始化时报权限错误:确保执行命令的用户与数据库文件所有者一致(通常为
kingbase
用户)。 - 查询表名仍区分大小写:确认初始化参数正确,且所有步骤完成后已重启服务。
通过以上步骤,可完成KingbaseV8R6的大小写不敏感设置。若需更详细操作示例,可参考官方文档或上述博客内容。