银河麒麟系统部署人大金仓数据库
<center><h1 id="银河麒麟系统部署人大金仓数据库">银河麒麟系统部署人大金仓数据库</h1>
</center>
<h2 id="一安装包及授权准备">一、安装包及授权准备</h2>
<ul>
<li>获取安装包及授权文件,如KingbaseES_V009R001C002B0014_Lin64_install.iso和license_专业版.zip,可从人大金仓官网的 “首页> 服务与支持 > 下载中心” 下载。在下载中心,选择产品<code>KingbaseES</code>、版本<code>V009R001CD02B0014</code>,根据需求下载相应软件版本和授权文件</li>
</ul>
<h2 id="_"><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194236749-1156708615.png" alt="image-20250427083501815" loading="lazy"></h2>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194236309-1329139378.png" alt="image-20250427083633234" loading="lazy"></p>
<h2 id="二检查和配置环境">二、检查和配置环境</h2>
<h3 id="1检查操作系统信息">1.检查操作系统信息</h3>
<ul>
<li>使用命令<code>cat /etc/os-release</code>查看操作系统信息,确保系统为银河麒麟高级服务器 V10(Halberd)</li>
</ul>
<pre><code class="language-bash"># cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Halberd)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
ANSI_COLOR="0;31"
</code></pre>
<h3 id="2配置内核参数">2.配置内核参数</h3>
<ul>
<li><strong>编辑<code>/etc/sysctl.conf</code>文件</strong>:添加或修改以下参数,提升系统性能和稳定性。</li>
</ul>
<pre><code class="language-bash">cat << EOF >> /etc/sysctl.conf
fs.aio-max-nr= 1048576
fs.file-max= 6815744
kernel.shmall= 2097152
kernel.shmmax= 4294967295
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
net.ipv4.ip_local_port_range= 9000 65500
net.core.rmem_default= 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
EOF
</code></pre>
<ul>
<li><strong>重启 Linux 系统</strong>:使内核参数修改生效,执行以下命令</li>
</ul>
<pre><code class="language-bash">reboot
/sbin/sysctl -p
/sbin/sysctl -a
</code></pre>
<h3 id="3linux-资源限制配置">3.Linux 资源限制配置</h3>
<ul>
<li>修改<code>/etc/security/limits.conf</code>文件,限制用户可使用的资源数量,提升系统性能。将<code>nofile</code>、<code>noproc</code>、<code>core</code>参数修改为如下值</li>
</ul>
<pre><code class="language-bash">cat << EOF >> /etc/security/limits.conf
# *表示所有用户,可只设置root和kingbase用户
* soft nofile 65536
# 注意:设置nofile的hard limit不能大于/proc/sys/fs/nr_open,否则注销后将无法正常登陆
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
# unlimited表示无限制
* soft core unlimited
* hard core unlimited
EOF
</code></pre>
<h3 id="4removeipc参数">4.RemoveIPC参数</h3>
<ul>
<li>systemd-logind服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的IPC对象。该特性由/etc/systemd/logind.conf文件中的RemoveIPC参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有redhat7及以上和一些特殊的国产Linux的版本需要修改,改之前可先查看此项是否为默认yes)。设置RemoveIPC=no。设置后重启服务:</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194235916-1630251456.png" alt="image-20250428003719506" loading="lazy"></p>
<pre><code class="language-bash">vim /etc/systemd/logind.conf
systemctl daemon-reload
systemctl restart systemd-logind.service
</code></pre>
<h3 id="5创建-kingbase-安装用户">5.创建 kingbase 安装用户</h3>
<ul>
<li>创建kingbase安装用户,设置密码Easyw@y1234</li>
</ul>
<pre><code class="language-bash">useradd -m -U kingbase&& echo "kingbase:Easyw@y1234" | chpasswd
</code></pre>
<h3 id="6创建安装及数据目录并配置权限">6.创建安装及数据目录并配置权限</h3>
<ul>
<li>创建数据库安装包、软件、数据和备份目录,并赋予<code>kingbase</code>用户相应权限。</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194235583-497225869.png" alt="image-20250428004300366" loading="lazy"></p>
<pre><code class="language-bash">/opt/kingbase/install //数据库安装包及license文件存放目录
/opt/kingbase/kingbaseES/V9 //数据库软件目录
/opt/kingbase/kingbaseES/V9/data //数据库数据目录
/opt/kingbase/backup //数据库备份目录
chown -R kingbase.kingbase /opt/kingbase
</code></pre>
<h3 id="7上传数据库镜像并挂载解压">7.上传数据库镜像并挂载解压</h3>
<ul>
<li>将数据库镜像上传至<code>/opt/kingbase/install</code>目录,执行以下命令挂载并解压</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194235252-733760946.png" alt="image-20250428004433347" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194234941-1067847598.png" alt="image-20250428004909554" loading="lazy"></p>
<pre><code class="language-bash">mount /opt/kingbase/install/KingbaseES_V009R001C002B0014_Lin64_install.iso /mnt //挂在数据库镜像
cp -a /mnt/. /opt/kingbase/install/ //拷贝程序至软件目录
unzip /opt/kingbase/install/license_专业版.zip -d /opt/kingbase/install/ //解压数据库授权文件
cp -a /opt/kingbase/install/license_41249/. /opt/kingbase/install/ //将授权文件移动至软件目录下
chown -R kingbase.kingbase /opt/kingbase/install //权限修改为kingbase用户
</code></pre>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194234619-897268098.png" alt="image-20250428011136441" loading="lazy"></p>
<h2 id="三命令行安装数据库">三、命令行安装数据库</h2>
<h3 id="1启动安装程序">1.启动安装程序</h3>
<h4 id="11切换用户">1.1切换用户</h4>
<ul>
<li>从root用户切换至kingbase用户下</li>
</ul>
<pre><code class="language-bash">su - kingbase
</code></pre>
<h4 id="12查看及设置语言">1.2查看及设置语言</h4>
<ul>
<li>命令行安装支持中文和英文的文字提示。根据操作系统的语言设置会显示对应语言的提示信息。您可以执行如下命令查看操作系统的语言设置。如果系统显示值包含“zh_CN”,则为中文语言,安装程序会显示中文内容。否则,您可以执行如下命令修改语言设置为中文</li>
</ul>
<pre><code class="language-bash">echo $LANG
export LANG=zh_CN.UTF-8
</code></pre>
<h4 id="13执行安装命令">1.3执行安装命令</h4>
<ul>
<li>进入安装程序中<code>setup.sh</code>所在目录(<code>/opt/kingbase/install/</code>),以<code>kingbase</code>用户执行<code>sh setup.sh -i console</code>命令启动安装程序,命令执行后,将会启动安装程序。</li>
</ul>
<pre><code class="language-bash"># 切换至软件目录下
$ cd /opt/kingbase/install/
$ ll
总用量 2669456
-rw-r--r-- 1 kingbase kingbase 27335086084月 28 00:44 KingbaseES_V009R001C002B0014_Lin64_install.iso
drwxrwxr-x 2 kingbase kingbase 336月 242024 license_41249
-rw-rw-r-- 1 kingbase kingbase 36766月 242024 license_41249_0.dat
-rw-r--r-- 1 kingbase kingbase 27394月 28 00:43 license_专业版.zip
dr-xr-xr-x 2 kingbase kingbase 919月 232024 setup
-r-xr-xr-x 1 kingbase kingbase 39329月 232024 setup.sh
# 执行shell
sh setup.sh -i console
</code></pre>
<h3 id="2安装过程各步骤操作">2.安装过程各步骤操作</h3>
<h4 id="21简介">2.1简介</h4>
<ul>
<li>“简介” 界面展示了 KingbaseES 版本和安装程序版本等信息。可输入<code>quit</code>退出安装,输入<code>back</code>返回前一屏幕,直接按回车键进行下一步操作</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194234262-144774406.png" alt="image-20250428013831678" loading="lazy"></p>
<blockquote>
<p>输入quit,按<enter>退出安装;</enter></p>
<p>输入back,按<enter>返回前一屏幕;</enter></p>
<p>直接按<enter>进行下一步操作。</enter></p>
<p>若无特殊说明,以下各步骤皆与此相同。</p>
</blockquote>
<h4 id="22许可协议">2.2许可协议</h4>
<ul>
<li>阅读完整许可协议,按回车键翻页。输入<code>Y</code>(不分大小写)接受协议条款继续安装;输入<code>N</code>(不分大小写)不接受,不接受则无法继续安装并提示重新选择</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194233885-1890174710.png" alt="image-20250428014139448" loading="lazy"></p>
<blockquote>
<p>您输入Y(不分大小写)表示接受此许可协议条款。</p>
<p>您输入N(不分大小写)表示不接受此许可协议条款,输入其他无效。</p>
<p>若不接受,则会提示警告信息,无法继续安装,提示用户重新选择。</p>
</blockquote>
<h4 id="23选择安装集">2.3选择安装集</h4>
<p>根据安装后数据库服务功能的不同,KingbaseES可分为完全安装、客户端安装和定制安装三种安装集。</p>
<ul>
<li><strong>完全安装</strong>:包括数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。</li>
<li><strong>客户端安装</strong>:包括接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。</li>
<li><strong>定制安装</strong>:在数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择。</li>
</ul>
<p>您输入1,或按<enter>接受缺省项,选择“完全安装”安装集,系统将安装KingbaseES所有组件,跳至 <strong>选择授权文件</strong> 。</enter></p>
<p>您输入2,选择“客户端安装”安装集,系统将安装KingbaseES的所有客户端工具、编程接口、扩展插件以及命令行可执行二进制文件,跳至 <strong>选择安装文件夹</strong> 。</p>
<p>您输入3,选择“定制安装”安装集,可根据需求选择安装所需功能组件,将进入下一步 <strong>选择产品功能组件</strong> 。</p>
<p>选择"完全安装"</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194233502-1454227326.png" alt="image-20250428014757619" loading="lazy"></p>
<h4 id="24选择授权文件">2.4.选择授权文件</h4>
<ul>
<li>选择已解压的授权文件,如<code>/opt/kingbase/install/license_41249_0.dat</code>,若文件合法,将显示授权文件详细信息</li>
</ul>
<pre><code class="language-bash">/opt/kingbase/install/license_41249_0.dat
</code></pre>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194233181-669775142.png" alt="image-20250428015331924" loading="lazy"></p>
<h4 id="25选择安装文件夹">2.5选择安装文件夹</h4>
<ul>
<li>默认安装路径为<code>/opt/Kingbase/ES/V9</code>,需修改为<code>/opt/kingbase/kingbaseES/V9</code>。确认路径后,若目录已有内容,选择覆盖继续安装</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194232838-1547264798.png" alt="image-20250428020047599" loading="lazy"></p>
<p>您在此步骤会看到即将安装产品的摘要信息。包括:</p>
<ul>
<li>产品名称。</li>
<li>安装文件夹。</li>
<li>指定安装的功能组件。</li>
<li>安装路径所在磁盘空间信息。</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194232517-1387590970.png" alt="image-20250428020215755" loading="lazy"></p>
<h4 id="26初始化数据库">2.6初始化数据库</h4>
<ul>
<li>首先选择数据库数据目录,默认数据库数据目录为安装目录下的data目录。</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194232189-1699488352.png" alt="image-20250428020423654" loading="lazy"></p>
<p>设置如下初始化数据库参数:</p>
<ul>
<li>默认端口为:54321(可自定义)</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194231890-462664429.png" alt="image-20250428020954472" loading="lazy"></p>
<ul>
<li>
<p>默认账户为:system(可自定义)</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194231561-2115840385.png" alt="image-20250428021010423" loading="lazy"></p>
</li>
<li>
<p>密码:Easyw@y1234</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194231245-1379240638.png" alt="image-20250428020650295" loading="lazy"></p>
</li>
<li>
<p>默认字符集编码为:UTF8(可选 default、GBK、GB2312、GB18030)</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194230925-1423587281.png" alt="image-20250428021033603" loading="lazy"></p>
</li>
<li>
<p>区域,可选值将随字符集编码选项发生变动。</p>
<ul>
<li>
<p>当字符集编码为 default 时,默认区域值为:default(可选 C)</p>
</li>
<li>
<p>当字符集编码为 UTF8 时,默认区域值为:zh_CN.UTF-8(可选 en_US.UTF-8、C)</p>
</li>
<li>
<p>当字符集编码为 GBK 时,默认区域值为:zh_CN.GBK(可选 C)</p>
</li>
<li>
<p>当字符集编码为 GB2312 时,默认区域值为:zh_CN.GB2312(可选 C)</p>
</li>
<li>
<p>当字符集编码为 GB18030 时,默认区域值为:zh_CN.GB18030(可选 C)</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194230613-1711389539.png" alt="image-20250428021109463" loading="lazy"></p>
</li>
</ul>
</li>
<li>
<p>默认数据库兼容模式为:ORACLE(可选 PG、MySQL)</p>
<p>选择PG</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194230306-107556316.png" alt="image-20250428020820978" loading="lazy"></p>
</li>
<li>
<p>默认大小写敏感为:是(可选否)</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194230011-684290162.png" alt="image-20250428021131748" loading="lazy"></p>
</li>
<li>
<p>默认数据块大小为:8k(可选16k、32k)</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194229681-462661315.png" alt="image-20250428021149453" loading="lazy"></p>
</li>
<li>
<p>默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194229366-1648577688.png" alt="image-20250428021207223" loading="lazy"></p>
</li>
<li>
<p>自定义参数(默认),可自由输入任何值,作为初始化数据库的参数</p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194229030-1330316867.png" alt="image-20250428021310807" loading="lazy"></p>
</li>
</ul>
<h4 id="27安装完成">2.7安装完成</h4>
<ul>
<li>默认安装路径为<code>/opt/Kingbase/ES/V9</code>,需修改为<code>/opt/kingbase/kingbaseES/V9</code>。确认路径后,若目录已有内容,选择覆盖继续安装</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194228722-556979716.png" alt="image-20250428021402915" loading="lazy"></p>
<h4 id="28执行rootsh">2.8执行root.sh</h4>
<ul>
<li>注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务,具体步骤如下:
<ul>
<li>1.切换到root用户;</li>
<li>2.运行/opt/kingbase/kingbaseES/V9/install/script/root.sh 。</li>
</ul>
</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194228402-274299389.png" alt="image-20250428024127105" loading="lazy"></p>
<h4 id="29添加二进制目录到-path-环境变量">2.9添加二进制目录到 PATH 环境变量</h4>
<ul>
<li>辑<code>/etc/profile.d/kingbase.sh</code>文件,将 KingbaseES 的二进制目录添加到<code>PATH</code>环境变量,赋予执行权限并使设置生效。执行以下命令</li>
</ul>
<pre><code class="language-bash">vim /etc/profile.d/kingbase.sh
export PATH=$PATH:/opt/kingbase/kingbaseES/V9/KESRealPro/V009R001C002B0014/Server/bin
chmod +x /etc/profile.d/kingbase.sh
source /etc/profile
echo $PATH | grep kingbase
</code></pre>
<h4 id="210启动或停止数据库服务">2.10启动或停止数据库服务</h4>
<ul>
<li>使用命令<code>service kingbased start</code>启动数据库服务,<code>service kingbased stop</code>停止数据库服务。可通过<code>ps -ef | grep kingbase</code>查看数据库服务进程状态.(服务参考文档:()</li>
</ul>
<pre><code class="language-bash">service kingbased start
service kingbased stop
ps -ef | grep kingbase
</code></pre>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194228055-550925625.png" alt="image-20250428030703925" loading="lazy"></p>
<ul>
<li>创建systemctl启动服务</li>
</ul>
<pre><code class="language-BASH"># cat >> /etc/systemd/system/kingbase.service <<EOF
Description=Kingbase Database Server
After=network.target
Type=forking
User=kingbase
Group=kingbase
ExecStart=/etc/init.d/kingbased start
ExecStop=/etc/init.d/kingbased stop
ExecReload=/etc/init.d/kingbased restart
Restart=on-failure
WantedBy=multi-user.target
EOF
systemctl daemon-reload //重新加载 systemd 管理的单元文件
chmod +x /etc/systemd/system/kingbase.service //授权为可执行文件
systemctl start kingbase.service //启动kingbase
systemctl stop kingbase.service //停止kingbase
systemctl enable kingbase.service //开机自启kingbase
systemctl status kingbase.service //查看kingbase服务状态
</code></pre>
<h2 id="四客户端配置">四、客户端配置</h2>
<h3 id="1下载客户端并连接">1.下载客户端并连接</h3>
<ul>
<li>该客户端为免安装软件,下载后可直接打开使用。相关操作界面展示如下</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194227737-631944638.png" alt="image-20250428230958205" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194227379-532557438.png" alt="image-20250428231204970" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/3189321/202505/3189321-20250507194226980-154944845.png" alt="image-20250428232241381" loading="lazy"></p>
<h3 id="2系统防火墙放通54321端口">2.系统防火墙放通54321端口</h3>
<ul>
<li>为确保客户端与服务器正常通信,需在系统防火墙上放通 54321 端口,具体操作命令如下</li>
</ul>
<pre><code class="language-bash">firewall-cmd --zone=public --add-port=54321/tcp --permanent //放通端口54321 tcp udp
firewall-cmd --zone=public --add-port=54321/udp --permanent
firewall-cmd --reload //重启防火墙服务
</code></pre>
<ul>
<li>执行上述命令后,防火墙将允许 54321 端口的 TCP 和 UDP 流量通过 ,从而保障客户端的正常运行。</li>
</ul><br><br>
来源:https://www.cnblogs.com/JianZuo/p/18864966
頁:
[1]