数据库升级
本节介绍了 KWDB 数据库在不同部署方式下的升级方法,包括使用部署脚本、编译版本及容器镜像部署的升级流程。升级前请务必仔细阅读相关注意事项,并根据实际部署方式选择合适的升级方案。
使用部署脚本升级
由于 3.0 版本进行了重大架构重构,现有的 1.x 和 2.x 版本无法直接升级至 3.0 版本。
推荐升级方案:
- 部署全新的 3.0 版本
- 通过数据导出导入功能完成版本迁移
编译版本升级
对于从源代码编译安装的 KWDB 实例,可以通过编译新版本源代码的方式进行升级。这种升级方式适用于有特殊定制需求的用户,但需要用户具备一定的编译和部署能力。
前提条件
步骤
容器镜像部署升级
使用 Docker 容器镜像部署的 KWDB 实例,可以通过更新容器镜像的方式进行升级。具体升级方式包括 Docker Compose 升级和 Docker Run 升级。
Docker Compose 升级
前提条件
- 已完成数据和配置备份
- 已获取新版本容器镜像
步骤
加载新版本容器镜像:
docker load < KaiwuDB.tar停止并移除现有容器:
docker-compose down删除旧版本镜像:
docker rmi ${image_name}修改
docker-compose.yml文件,更新镜像版本。启动新版本 KWDB。
docker-compose up -d
Docker Run 升级
前提条件
- 已完成数据和配置备份
步骤
停止 KWDB 容器。容器名称为运行容器时通过
--name参数指定的容器名称。docker stop <kwdb-container>删除容器。
docker rm <kwdb-container>获取新版本镜像。
从镜像仓库拉取:
docker pull kwdb/kwdb:<新版本号>从本地文件导入:
docker load < KaiwuDB.tar
启动新版本容器。注意:除镜像名称外,所有参数应与原容器保持一致。
非安全模式:
docker run -d --privileged --name kwdb \ --ulimit memlock=-1 \ --ulimit nofile=$max_files \ -p $db_port:26257 \ -p $http_port:8080 \ -v /var/lib/kaiwudb:/kaiwudb/deploy/kwdb-container \ --ipc shareable \ -w /kaiwudb/bin \ <kwdb_image> \ ./kwbase start-single-node \ --insecure \ --listen-addr=0.0.0.0:26257 \ --http-addr=0.0.0.0:8080 \ --store=/kaiwudb/deploy/kwdb-container安全模式:
docker run -d --privileged --name kwdb \ --ulimit memlock=-1 \ --ulimit nofile=$max_files \ -p $db_port:26257 \ -p $http_port:8080 \ -v /etc/kaiwudb/certs:<certs_dir> \ -v /var/lib/kaiwudb:/kaiwudb/deploy/kwdb-container \ --ipc shareable \ -w /kaiwudb/bin \<kwdb_image> \ ./kwbase start-single-node \ --certs-dir=<certs_dir> \ --listen-addr=0.0.0.0:26257 \ --http-addr=0.0.0.0:8080 \ --store=/kaiwudb/deploy/kwdb-container