金仓数据库全攻略:简化部署,优化管理的全流程指南

金仓数据库

人大金仓(KING BASE)是一家拥有20多年数据库领域经验的公司,专注于数据库产品的研发和服务。公司曾参与多项国家级重大课题研究,如"863"计划、电子发展基金、信息安全专项等。其核心产品是金仓数据库管理系统KingbaseES,这是一个大型通用数据库,具有国际先进水平。

金仓数据库官方地址:https://www.kingbase.com.cn/gywm/index.htm

金仓数据库下载地址:https://www.kingbase.com.cn/xzzx/index.htm

在本篇文章中,我们将聚焦于快速认识并部署金仓数据库管理系统KingbaseES,以生产环境为基准,详细演示Linux服务器的安装和配置过程。我们的目标是帮助你快速上手,掌握金仓数据库的部署和管理。

Linux快速部署(docker)

让我们直接进入主题,不拐弯抹角。在本教程中,我将采取一种更为现代和高效的部署方式——利用Docker技术来部署金仓数据库管理系统KingbaseES。这种方式不仅能够简化安装过程,还能确保环境的一致性和可移植性。值得一提的是,为了进一步简化部署流程,我为大家精心封装了一个Docker Compose编排模板,相信能够为你的部署工作带来极大的便利。

首先,我们需要下载金仓数据库的镜像压缩包。请注意,由于目前金仓数据库并未直接在Docker Hub等公共镜像仓库上线,因此所有的安装包都需要从人大金仓的官方网站进行下载。下载过程中,你可能需要输入手机号码并接收验证码。

接下来,我将详细介绍如何使用Docker和Docker Compose来部署金仓数据库,包括下载导入镜像、配置Compose模板、启动服务等各个步骤。

下载安装包

image

在进行金仓数据库管理系统KingbaseES的下载和部署之前,有几点重要的注意事项需要强调。首先,确保你下载的数据库版本与你服务器的系统架构和操作系统完全兼容。选择正确的版本对于确保数据库能够顺利运行至关重要。

完成版本选择后,接下来是下载过程。为了方便和效率,建议你直接在服务器上进行下载操作。这样做的好处是可以避免在本地下载后再上传到服务器,减少了数据传输的复杂性和时间成本。在下载页面上找到下载链接后,你可以直接复制该链接

去自己的宝塔服务器的文件模块上通过URL下载

image

https://bbs.kingbase.com.cn/kingbase-html/v9/install-updata/install-docker/install-docker-2.html#docker

我已经为你准备好了下载链接。通过这个链接,你可以直接在服务器上进行高速下载,避免了传统下载方式中可能出现的缓慢和不稳定问题。

导入镜像

在成功下载金仓数据库管理系统KingbaseES的Docker镜像文件之后,接下来的步骤是将这个镜像导入到您的Docker环境中。以下是具体的操作步骤:

docker load -i /path/to/your/image-file.tar

请将/path/to/your/image-file.tar替换为你下载的镜像文件的实际路径和文件名。

导入镜像后,您可能会注意到镜像的名称和标签(Repository:Tag)可能会比较长,长名称可能会使得后续的容器管理和操作变得繁琐。为了简化这个过程,我们可以通过Docker的tag命令来为镜像重新设置一个更简短、更易于识别的名称。

docker tag [老镜像名称]:[老镜像版本] [新镜像名称]:[新镜像版本]

image

这样就方便多了

容器编排

我们的下一步是利用Docker Compose来编排和启动金仓数据库管理系统KingbaseES,与传统的Docker命令行相比,Compose提供了一种更加简洁和高效的方式来管理容器化应用的生命周期。

为了帮助大家更轻松地使用Docker Compose,我已经为大家准备好了一个基础的Compose模板,直接复制粘贴改一改即可:

version: "2"
services:kingbase:image: kingbase:v1container_name: kingbaseprivileged: true  # 注意这里的缩进与前面的键值对对齐environment:- ENABLE_CI=yes    # yes(默认 大小写不敏感)/no 大小写敏感- NEED_START=yes    # yes(默认 启动数据库)/ no(不启动数据库)- DB_USER= # 用户名- DB_PASSWORD=  # 密码- DB_MODE=oracle    # 支持oracle/pg/mysqlvolumes:- /mnt/kingbase/data:/home/kingbase/userdata/ports:- 4321:54321restart: unless-stoppedcommand: /usr/sbin/init

各关键信息,我已经填写上了,根据你的服务器配置和应用需求,对模板中的配置项进行必要的修改,例如端口映射、环境变量设置、存储卷挂载等。然后我们创建启动。

启动数据库

image

不出意外的情况下,你应该能够顺利启动金仓数据库。

image

启动成功后记得替换许可文件。照样得去下载才行。

image

默认启动成功后,你只需要替换外边挂载的文件即可。

image

命令行工具——ksql

这里我们介绍下KSQL命令行工具的使用方法和特性。KSQL是金仓提供给数据库管理员(DBA)用于与KES数据库交互的命令行客户端程序,特别适用于无法使用图形界面工具的工作场景。通过熟练使用KSQL,DBA能够快速执行数据库操作和维护任务。

基本使用与常用命令

我们虽然是开发人员,而非数据库管理员,因此只需掌握金仓数据库的基本使用和常用命令即可。本章的目的在于让开发人员快速了解金仓数据库。鉴于我们是采用 Docker 部署的方式,因此需进入 Docker 容器才能执行相应命令。

查看帮助

无论是什么样的命令,每一个都会有相应的指导手册,也就是help命令,它也不例外。

ksql --help

image

连接数据库

连接system用户和test数据库,这个改成自己的配置的用户名即可。端口为54321

ksql -Usystem -d test -p54321

image

执行SQL

在数据库中,SQL语句的执行是至关重要的。让我们一起深入了解常用的增删改查操作。

create table test(id number(20),reg_dt date);

insert into test(id,reg_dt) values(1,sysdate);

select * from test;

update test set id = 2;

delete from test where id = 2;

image

实际上,我使用的是Oracle语句,因为我在启动时选择了Oracle模式进行创建,因此它也支持Oracle数据迁移。至于索引部分,暂时不进行演示。

KSQL实用小技巧

实际上,他这个工具拥有许多小技巧,使其在比较其他数据库的命令行工具时显得非常完美。

  • Tab键智能提示和补全:使用Tab键可以进行多层级、持续的智能提示和补全,这在输入较长的命令或参数时非常有用,可以减少错误并提高输入速度。
  • 历史命令查看和调用:利用上下箭头键可以方便地查看之前执行过的历史命令,快速调用或修改这些命令。或者使用’\s’命令查看历史

image

好的,关于命令的使用我们就讲到这里,接下来让我们来看一下服务器的配置。

服务器配置

在这里我们将详细讨论参数查看、修改和生效条件,以及主配置文件与辅助配置文件之间的关系处理。这是因为我们需要对KINGBASE数据库进行调优和维护,尤其是在当前普遍程序员都是DevOps的情况下。

查看参数

可以查看全部参数的方法是使用以下命令:

show all;

在进行数据库调优与维护时,通常需要关注一些关键参数。如果需要单独查看某个命令的使用方法和相关信息,可以使用以下命令:

show max_connections;

image

当前设置了最大连接数为10,这对个人使用可能足够了。但是如果希望对数据库进行更多的操作或者允许更多用户访问,可能需要调整这个参数。

修改参数

在进行参数修改时,有两种常见的方法可供选择。首先,可以通过直接编辑配置文件来进行修改。需要注意的是,配置文件通常包括主配置文件和辅助配置文件。另外一种方法是通过命令行工具来修改参数。

主配置文件与辅助配置文件的关系处理非常重要。主配置文件是启动时默认扫描的文件,其中包含了所有的参数设置。然而,如果将所有参数都写在一个文件里会显得非常臃肿。为了解决这个问题,可以在主配置文件中使用include命令来引入子配置文件,这样子配置文件中的参数也会被扫描并生效。这种方法类似于Nginx的配置文件结构,非常方便和模块化。通过这种方式,可以更清晰地管理配置文件,使其更易于维护和调整。

这里我们只演示下如何使用命令行修改,因为这样最方便。

例如,如果想要增加数据库的连接数限制,可以使用以下命令来修改:

alter system set max_connections = 100;

image

好吧,报错:max_connections should be less than or equal than 10 (restricted by license)

我们最初替换掉的是开发者许可证,人家不让超过10个链接。那我们就改小,为了演示下效果:

image

当修改了参数后,需要注意的是,并不是所有参数修改后都会立即生效,有些参数需要重启数据库服务才能生效。你可以使用以下命令来查看参数的重启生效状态:

select name,setting,pending_restart from sys_settings where name = ‘max_connections’;

image

pending_restart=t 意味着此参数修改后需要重启实例才能生效。确保重启数据库服务以使更改生效。一旦数据库服务重新启动,你可以重新连接数据库并检查是否显示正常。

image

优先级问题

在数据库系统中,确保主子配置文件之间的关系明确并正确处理是非常关键的。kingbase.auto.conf作为更高优先级的配置文件,确保其中的设置能够覆盖kingbase.conf中的设置,从而实现更灵活的参数配置和管理。

在实际操作中,用户可以通过修改kingbase.auto.conf文件来覆盖kingbase.conf中的设置,从而实现对数据库系统行为的精细控制。在修改完参数设置后,用户需要记得重启数据库服务,让新的参数配置生效。这样可以确保数据库系统按照最新的设置来运行,提高系统的性能和稳定性。

总结

通过本篇文章的学习和实践,我们深入了解了如何利用Docker技术快速部署KingbaseES数据库。从下载镜像到编写Docker Compose模板,再到容器的启动和管理,每一步都体现了现代化部署方式的便捷和高效。此外,我们还掌握了KSQL命令行工具的使用,这将极大地提升开发人员与数据库交互的效率。

在探索金仓数据库的配置和优化过程中,我们认识到了合理配置数据库参数的重要性。通过调整参数,我们能够根据实际需求优化数据库性能,确保系统的稳定运行。同时,我们也学习了如何处理主配置文件与辅助配置文件的关系,以及如何通过kingbase.auto.conf实现更灵活的参数配置。

总结而言,金仓数据库不仅以其卓越的性能和稳定性服务于众多关键行业,更为开发人员和数据库管理员提供了高效、易用的工具和方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/64163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

讯飞智文丨一键生成WordPPT

在当今数字化办公的浪潮中,Word和PPT已经成为职场人士日常工作的标配工具。然而,面对繁琐的内容编辑和格式调整任务,如何提升效率成了每个人的追求。而讯飞智文,一款结合人工智能技术的文字处理与演示文稿工具,正逐渐成为用户的得力助手。本文将详细介绍讯飞智文的功能特点…

2024数据库国测揭晓:安全与可靠的新标准,你了解多少?

2024年数据库国测的结果,于9月份的最后一天发布了。 对于数据库行业的从业者来说,国测是我们绕不过去的坎儿。那么什么是国测?为什么要通过国测,以及国测的要求有哪些? 这篇文章带大家一探究竟。 国测 自愿平等、客…

VMware ubuntu12.04怎么设置静态IP联网

记得刚开始学习嵌入式就是从ubuntu12.04的环境开始学习的C语言,当时没有弄清楚怎么设置静态IP联网,现在写一篇文章。 1.首先,关闭ubuntu的网络; 2.电脑使用的是wifi,将VMware桥接到该网卡上; 3.在虚拟机设置里面选择桥…

python 基于 docx 文件模板生成 docx 或 PDF 文件

需求背景 提供一个Word文档模板,使用python程序替换里边的占位符,替换内容包括文本和图片,然后输出docx或者PDF文件。 功能演示 输入示例 输出示例 实现程序 import os import shutil import subprocess import timefrom docx import Doc…

【Python篇】PyQt5 超详细教程——由入门到精通(序篇)

文章目录 PyQt5 超详细入门级教程前言序篇:1-3部分:PyQt5基础与常用控件第1部分:初识 PyQt5 和安装1.1 什么是 PyQt5?1.2 在 PyCharm 中安装 PyQt51.3 在 PyCharm 中编写第一个 PyQt5 应用程序1.4 代码详细解释1.5 在 PyCharm 中运…

【Axure教程】动态统计字数

动态统计字数通常用于文本编辑、编程、社交媒体、写作工具、SEO优化、表单与调查以及数据分析等场景,帮助用户实时跟踪文字量,保证内容符合特定的格式或要求,提高工作效率和质量。 今天我们就来学习,怎么在Axure中制作能根据输入…

【YashanDB知识库】oracle与yashanDB的jdbc返回常量列“0.00“的精度和刻度不一致

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7610110.html?templateId1718516 问题现象 客户预期常量列"0.00"应该映射到java里的浮点类型,结果却是跑到整型。 1、应用的sql 2、应用的java代码 3、执行结果…

Ripro V5日主题 v8.3 开心授权版 wordpress主题虚拟资源下载站首选主题模板

RiPro主题全新V5版本,是一个优秀且功能强大、易于管理、现代化的WordPress虚拟资源商城主题。支持首页模块化布局和WP原生小工具模块化首页可拖拽设置,让您的网站设计体验更加舒适。同时支持了高级筛选、自带会员生态系统、超全支付接口等众多功能&#…

CAPL如何设置或修改CANoe TCP/IP协议栈的底层配置

在CANoe中创建网络节点作为以太网主机时,可以给其配置独立的TCP/IP Stack。 配置的协议栈有一些底层配置参数可以在界面上设置或修改,比如: MTU上图中MTU显示500只是图形界面显示错误,正确值是1500。 TCP延迟确认这些参数也可以通过CAPL动态配置,甚至CAPL还可以配置很多界…

县城楼市踩踏式降价,或现2字头,率先回归月薪一平方的合理价格

在一二线城市都在欢呼10月份、11月份成交量回升,楼价回稳的时候,广东一些县城却先顶不住了,大举降价,显示出县城楼市房价率先回归月薪一平方的合理水平,这将对全国楼市产生巨大影响。 据了解这个县城的楼价此前较为稳定…

利用Docker分层构建优化镜像大小

合适docker镜像文件大小不仅影响容器启动效率,也影响资源占用效率。本文介绍如何利用分层方式构建docker镜像,采用多种方式避免镜像文件太大而影响性能。 Docker 镜像大小优化的重要性 资源利用效率 较小的镜像文件在存储和传输过程中占用更少的空间和带…

深度学习面试相关-2024.12.15记录

深度学习 面试相关- 2024.12.15记录 目录 深度学习 面试相关- 2024.12.15记录整体常问问题1数学基础1.1 概率统计1.2 线代 2机器学习算法2.1 深度学习算法2.2 机器学习算法 整体常问问题 https://www.nowcoder.com/discuss/353154899112304640 1数学基础 1.1 概率统计 htt…

从零用java实现 小红书 springboot vue uniapp (2)主页优化

前言 移动端演示 http://8.146.211.120:8081/#/ 前面的文章我们基本完成了主页的布局 今天我们具体的去进行实现 并且分享我开发时遇到的问题 首先先看效果 java仿小红书主页 实现效果为 1.顶端全屏切换 2.上划加载更多 3.下拉当前页整体刷新 顶端全屏切换我们选择 gui-switch…

idea 配置 git .gitignore文件配置

.gitignore 内容 .idea/ *.iml target/ *.class *.log .iml在idea项目里面创建一个.gitignore名字的文件,然后把这个文件提交到git上。我一般是放到.idea同级目录。 我遇到了几种情况这个文件配置了但是不生效的情况 第一种 Git的缓存可能会导致配置不生效。尝试…

双指针---移动0

常见的双指针有两种形式,⼀种是对撞指针,⼀种是快慢指针。 这里写自定义目录标题 题目链接 [移动0](https://leetcode.cn/problems/move-zeroes/description/)问题分析代码解决 题目链接 移动0 问题分析 在本题中,我们可以⽤⼀个 cur 指针来…

人工智能的历史概况和脉络

人工智能( AI ) 的历史始于古代,当时有神话、故事和谣言称,人工生物被工匠大师赋予了智慧或意识。从古代到现在,对逻辑和形式推理的研究直接导致了20 世纪 40 年代可编程数字计算机的发明,这是一种基于抽象数学推理的机器。这种设…

基于Arduino的智能太阳能追光系统设计(论文+源码)

1系统方案设计 本次的设基于Arduino的智能太阳能追光系统的设计,整体结构如图2.1所示。整个系统包括Arduino开发板,按键模块,太阳能板,X轴电机,Y轴电机,电池充电模块,电源模块,四路光照检测模块…

AI+智慧海洋数据集

需要的同学私信联系,推荐关注上面图片 右下角订阅号平台 自取下载。 AI智慧海洋数据可以促进海洋科技领域人工智能新技术产、学、研、用协作,引领行业技术创新,助力AI智慧海洋高质量发展,进一步推广人工智能与海洋科技的融合创新…

56.合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals [[1,3]…

域名信息收集(小迪网络安全笔记~

附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 2.1 域名信息收集 引子:上一章介绍了服务器的信息收集。本篇则介绍在面对存在Web资产企业时,其域名信息该如何收…