运维管理25 分钟阅读
VexDB 安装使用初体验
最近数据库领域出现了一个值得关注的新成员:VexDBhttps://vexdb.com/ "VexDB",一款专为 AI 场景设计的向量数据库。 VexDB 这个名字其实挺有意思的,取自 Vector(向量) + X(代
2025年9月25日
database
DBA 实战课程
系统学习 Oracle DBA
- 2738+ 篇实战文章
- 1500+ 步骤截图
- 10 大核心模块
开通会员 ¥128/月起
查看完整课程在知识库中专注阅读,并随时返回相关工具与课程
本章目标:掌握本章核心知识点 前置要求:完成前序章节学习 预计时长:60 分钟
最近数据库领域出现了一个值得关注的新成员:VexDB,一款专为 AI 场景设计的向量数据库。

VexDB 这个名字其实挺有意思的,取自 Vector(向量) + X(代表多模态数据的无限可能) + Database(数据库)。
VexDB 目前分为两个版本:
本文演示 VexDB 开发版的安装与简单使用,安装包下载地址:https://vexdb.com/download。
本文演示环境配置如下:
以上仅为开发与测试环境的配置,生产环境请参考官方推荐配置进行部署。
数据库安装一般都建议关闭防火墙,VexDB 也不例外:
1[root@VexDB ~]# systemctl stop firewalld2[root@VexDB ~]# systemctl disable firewalld3[root@VexDB ~]# systemctl status firewalld
建议关闭 SELNUX,防止造成一些不必要的问题:
1## 这里使用 setenforce 0 临时生效2[root@VexDB ~]# /usr/sbin/setenforce 03[root@VexDB ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config4[root@VexDB ~]# sestatus5SELinux status: enabled6SELinuxfs mount: /sys/fs/selinux7SELinux root directory: /etc/selinux8Loaded policy name: targeted9Current mode: permissive10Mode from config file: disabled11Policy MLS status: enabled12Policy deny_unknown status: allowed13Memory protection checking: actual (secure)14Max kernel policy version: 33
可以看到 Mode from config file 是 disabled,代表已经禁用 selinux。
数据库默认时区为中国时区,如果操作系统时区和数据库默认时区不一致,会导致数据库日志显示时间和实际时间不一致。

和 Oracle 一样,VexDB 数据库在安装过程中也需要用到依赖包:
1yum install -y zlib-devel libaio libuuid readline-devel krb5-libs libicu libxslt tcl perl openldap pam openssl-devel libxml2 bzip2当然前提是要配置本地软件源:
1## 备份系统初始配置文件2mkdir -p /etc/yum.repos.d/bak3mv /etc/yum.repos.d/* /etc/yum.repos.d/bak4## 一键配置软件源,默认 ISO 安装镜像挂载在 /mnt 目录下5cat<<-EOF>/etc/yum.repos.d/local.repo6[server]7name=server8baseurl=file:///mnt9enabled=110gpgcheck=011EOF12## 查看配置好的软件源13cat /etc/yum.repos.d/local.repo配置完软件源之后,直接执行依赖包安装即可:

确保依赖包都已经成功安装。
systemd-logind 服务中引入的一个特性 RemoveIPC,会造成程序信号丢失等问题,只有Redhat7 及以上和一些特殊的国产Linux的版本需要修改,改之前可先查看此项是否为默认yes),需要设置 RemoveIPC=no:
1[root@VexDB ~]# sed -i 's/#RemoveIPC=no/RemoveIPC=no/' /etc/systemd/logind.conf2[root@VexDB ~]# grep RemoveIPC /etc/systemd/logind.conf3RemoveIPC=no配置 /usr/lib/systemd/system/systemd-logind.service 文件:
1[root@VexDB ~]# vi /usr/lib/systemd/system/systemd-logind.service23## 在 [Service] 最后加上 RemoveIPC=no重新加载 systemd 守护进程并重启 systemd-logind 服务生效:
1[root@VexDB ~]# systemctl daemon-reload2[root@VexDB ~]# systemctl restart systemd-logind修改后检查是否生效:
1[root@VexDB ~]# loginctl show-session | grep RemoveIPC2[root@VexDB ~]# systemctl show systemd-logind | grep RemoveIPC
由于 CentOS 操作系统环境的 RemoveIPC 默认为关闭,则执行如下语句是无返回结果的。
透明大页可能会对数据库性能产生负面影响,建议关闭透明大页:
1[root@VexDB ~]# cat /sys/kernel/mm/transparent_hugepage/enabled2[always] madvise never显示结果:
修改 /etc/default/grub 文件,在 GRUB_CMDLINE_LINUX 中添加或修改参数 transparent_hugepage=never:
1[root@VexDB ~]# sed -i 's/quiet/quiet transparent_hugepage=never/' /etc/default/grub通过以下指令检查当前系统的引导类型:
1[root@VexDB ~]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS2BIOS两种引导的启动文件路径分别为:
执行 grub2–mkconfig 指令重新配置 grub.cfg:
1## BIOS 引导2# grub2-mkconfig -o /boot/grub2/grub.cfg3## UEFI 引导4# grub2-mkconfig -o /boot/efi/EFI/<distro_name>/grub.cfg56[root@VexDB ~]# grub2-mkconfig -o /boot/grub2/grub.cfg7Generating grub configuration file ...8Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_649Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img10Found linux image: /boot/vmlinuz-0-rescue-a87a758e2a72491d9ef6b8acd97e55fb11Found initrd image: /boot/initramfs-0-rescue-a87a758e2a72491d9ef6b8acd97e55fb.img12done
重启操作系统,使配置永久生效:
1[root@VexDB ~]# reboot验证透明大页已关闭:
1[root@VexDB ~]# cat /sys/kernel/mm/transparent_hugepage/enabled2always madvise [never]
结果应显示 always madvise [never]。
编译内核参数配置文件/etc/sysctl.conf,将内核信息写入文件末尾:
1# 物理内存(KB)2os_memory_total=$(awk '/MemTotal/{print $2}' /proc/meminfo)3# 获取系统页面大小,用于计算内存总量4pagesize=$(getconf PAGE_SIZE)5((shmall = (os_memory_total - 1) * 1024 / pagesize))6((shmmax = os_memory_total * 1024 - 10))7# 如果 shmall 小于 2097152,则将其设为 20971528((shmall < 2097152)) && shmall=20971529# 如果 shmmax 小于 4294967295,则将其设为 429496729510((shmmax < 4294967295)) && shmmax=4294967295复制以上命令,直接执行即可计算得出这两个参数值:
1[root@VexDB ~]# echo $shmall241076923[root@VexDB ~]# echo $shmmax416825110518
根据官方建议值,配置系统参数文件:
1[root@VexDB ~]# cat<<-\EOF>>/etc/sysctl.conf2fs.aio-max-nr=10485763fs.file-max= 767246004kernel.sem = 250 32000 100 1285kernel.shmall = 41076926kernel.shmmax = 168251105187kernel.shmmni = 40968net.core.netdev_max_backlog = 100009net.core.rmem_default = 26214410net.core.rmem_max = 419430411net.core.wmem_default = 26214412net.core.wmem_max = 419430413net.core.somaxconn = 409614net.ipv4.tcp_fin_timeout = 515vm.dirty_background_bytes = 409600000 16vm.dirty_expire_centisecs = 300017vm.dirty_ratio = 8018vm.dirty_writeback_centisecs = 5019vm.overcommit_memory = 020vm.swappiness = 021net.ipv4.ip_local_port_range = 40000 6553522fs.nr_open = 2048000023EOF2425## 生效配置26[root@VexDB ~]# sysctl -p
这里有个问题,就是官方文档中描述的两个参数:
这个不适用于小内存的测试开发环境,直接照抄设置会报错:

建议修改为以上我的配置即可。
将部分资源限制值(使用 ulimit -a 可查看所有的资源限制值)调整为推荐值或以上。
1cat<<-EOF>>/etc/security/limits.conf2vexdb soft nproc unlimited3vexdb hard nproc unlimited4vexdb soft stack unlimited5vexdb hard stack unlimited6vexdb soft core unlimited7vexdb hard core unlimited8vexdb soft memlock unlimited9vexdb hard memlock unlimited10vexdb soft nofile 102400011vexdb hard nofile 102400012EOF创建 vexdb 用户:
1[root@vexdb ~]# useradd -d /home/vexdb -m vexdb2[root@vexdb ~]# echo "vexdb:vexdb" | chpasswd3[root@vexdb ~]# id vexdb4uid=1001(vexdb ) gid=1001(vexdb) groups=1001(vexdb)
创建安装所需目录并且授权:
1[root@VexDB ~]# mkdir -p /vexdbdata/db_coredump /vexdbdata/vexdb /vexdbdata/soft2[root@VexDB ~]# chmod -R 770 /vexdbdata3[root@VexDB ~]# chown -R vexdb:vexdb /vexdbdata
创建 /soft 目录存放安装包:
1[root@vexdb ~]# mkdir /soft
授予 vexdb 用户权限,解压安装包:
1[root@VexDB soft]# chown -R vexdb:vexdb /soft2[root@VexDB soft]# chmod -R 775 /soft/3[root@VexDB soft]# su - vexdb4[vexdb@VexDB ~]$ cd /soft/5[vexdb@VexDB soft]$ tar -xf VexDB-Developer-Edition-3.0_Build0_28146-Linux-x86_64-no_mot-202509011854.tar.gz
执行交互安装:
1cd /soft/vexdb-installer2./vexdb_installer安装详细过程如下:





密码:VexDB123456.


这里需要注意一点:如果用自定义路径,一定要用二级目录,一级目录 vexdb 用户会没有权限创建目录!


比如我的自定义路径是:/vexdbdata/soft 和 /vexdbdata/vexdb

初始化阶段:

安装数据库过程会生成随机口令作为管理员初始口令:

选择是否添加许可:

初始化环境变量:

安装完成。
官方文档没有展示静默安装的相关内容,但是参考 vastbase G100 的静默文件,稍作修改,一样适用。
创建静默安装文件:
1[vexdb@VexDB ~]$ cat<<-EOF>/soft/vexdb-installer/db_install.rsp2vexdb_password=VexDB123456.3encryption_key=VexDB123456.4vexdb_home=/vexdbdata/soft5vexdb_data=/vexdbdata/vexdb6port=54327max_connections=5008shared_buffers=40119db_compatibility=A10isinitdb=true11EOF
执行静默安装:
1[vexdb@VexDB vexdb-installer]$ ./vexdb_installer --silent -responseFile /soft/vexdb-installer/db_install.rsp安装过程如下:



安装完成。
刚安装完成的 VexDB 默认是关闭状态,需要手动开启:
1[vexdb@VexDB ~]$ vb_ctl start

启动过程中的一些警告和配置问题可以忽略,VexDB 已经成功启动。
对应还有一些常用命令:
1[vexdb@VexDB ~]$ vb_ctl stop2[vexdb@VexDB ~]$ vb_ctl status3[vexdb@VexDB ~]$ vb_ctl restart更多功能可以通过 vb_ctl --help 查阅。
vsql 是 VexDB 提供的客户端连接工具,在数据库主机进行连接:
1[vexdb@VexDB ~]$ vsql -d postgres -p 5432
创建用户和数据库:
1CREATE USER lpc PASSWORD "VexDB@123";2CREATE DATABASE lucifer OWNER lpc TEMPLATE template0;3\l
创建表:
1\c lucifer lpc2CREATE SCHEMA lpc;3CREATE TABLE lpc.customer4(5c_customer_sk integer not null,6c_customer_id char(6) not null,7c_first_name varchar(20) ,8c_last_name varchar(20) , 9c_country varchar(20)10);1112\dt13\d lpc.customer
更多详细的使用请参考官方文档。
VexDB 卸载比较简单,直接使用 --uninstall 选项即可:

卸载完成后,需要手动删除安装文件和数据文件:

卸载完成。
本文仅是简单的 VexDB 安装部署,没有涉及到具体的应用场景,后续有机会再进行探索。