国产麒麟v10桌面操作系统安装人大金仓数据库(保姆级教教学)

1. 创建安装用户(通过sudo)

# 创建kingbase用户及同名用户组(需sudo)

sudo useradd -m kingbase

# 设置kingbase用户密码(需sudo)

sudo passwd kingbase

2. 创建安装目录并授权

# 创建默认安装目录(需sudo)

sudo mkdir -p /opt/Kingbase/ES/V9

# 将目录所有权赋予kingbase用户(需sudo)

sudo chown -R kingbase:kingbase /opt/Kingbase/ES/V9

3. 挂载ISO安装包

# 创建挂载点目录(需sudo,建议放在公共路径)

sudo mkdir /mnt/kingbase_iso

# 挂载ISO文件(需sudo,假设ISO在/home/tytdc/Downloads下)

sudo mount -o loop,ro /home/tytdc/Downloads/KingbaseES_V009R001C002B0014_Lin64_install.iso /mnt/kingbase_iso

# 验证挂载

ls /mnt/kingbase_iso # 应看到安装文件

4. 切换至kingbase用户执行安装

# 允许tytdc用户启动图形程序(需sudo)

xhost +SI:localuser:kingbase

# 切换到kingbase用户(继承当前图形环境)

sudo -u kingbase -i

# 设置中文环境(在kingbase用户shell中执行)

export LANG=zh_CN.UTF-8

# 进入挂载目录

cd /mnt/kingbase_iso

# 启动图形安装程序

sh setup.sh

5. 图形界面关键配置项

  1. 安装路径:保持默认 /opt/Kingbase/ES/V9

  2. 数据目录:建议设为 /opt/Kingbase/ES/V9/data(安装程序自动创建)

  3. 服务账户:使用 kingbase 用户(已提前创建)

  4. 端口设置:默认 54321(若冲突改为如 65432

  5. 管理员密码:为数据库用户 system 设置密码(如:System@123)

6. 安装后配置

# 退出kingbase用户(返回tytdc用户)

exit

# 将数据库命令加入PATH(在tytdc用户下操作)

echo 'export PATH="/opt/Kingbase/ES/V9/Server/bin:$PATH"' >> ~/.bashrc

source ~/.bashrc

7. 启动数据库服务

# 使用kingbase用户启动(需sudo提权)

sudo -u kingbase /opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data start

# 验证运行状态

sudo -u kingbase /opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data status

8. 连接验证

# 使用ksql客户端连接

sudo -u kingbase ksql -U system -d test -p 54321

# 输入密码后应看到SQL提示符

关键问题解决方案

1.挂载问题

安装完成后卸载ISO:

sudo umount /mnt/kingbase_iso

  • 若报 mount: block device is write-protected 属正常现象,不影响安装

2.权限不足错误

检查目录所有权:

sudo chown -R kingbase:kingbase /opt/Kingbase/ES/V9

如遇问题1:ksql 命令找不到

原因:环境变量未正确配置到 sudo 环境

# 方法1:使用完整路径连接(推荐)

sudo -u kingbase /opt/Kingbase/ES/V9/Server/bin/ksql -U system -d test -p 54321

# 方法2:将PATH永久添加到sudo安全路径(需sudo权限)

sudo sh -c 'echo "Defaults secure_path=\"/opt/Kingbase/ES/V9/Server/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"" >> /etc/sudoers'

问题2:could not change directory 警告

原因kingbase 用户无权访问 tytdc 的家目录(属正常现象,不影响服务)
解决方案

# 忽略此警告(无害)或为kingbase用户设置工作目录

sudo -u kingbase sh -c 'cd /tmp && /opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data status'

完整验证步骤

1.检查服务状态

sudo -u kingbase /opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data status

  • 确认输出包含 server is running

2.连接数据库

sudo -u kingbase /opt/Kingbase/ES/V9/Server/bin/ksql -U system -W -p 54321

  • 输入密码后应看到 SQL> 提示符

3.执行测试命令

SELECT version();

\q -- 退出

开机自启设置:

1. 检查当前服务状态

# 查看数据库是否正在运行

sudo -u kingbase /opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data status

# 检查是否已配置系统服务(麒麟v10通常使用systemd)

sudo systemctl list-unit-files | grep kingbase

  • 如果输出包含 kingbase.service 或类似服务名,说明已配置为系统服务。

  • 若无输出,则需要手动配置。

2. 配置开机自启(若未设置)

① 创建服务文件:

sudo tee /etc/systemd/system/kingbase.service <<'EOF'
[Unit]
Description=KingbaseES Database Server
After=network.target

[Service]
Type=simple         
User=kingbase
Group=kingbase
ExecStart=/opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data start
ExecStop=/opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data stop
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

② 启用并启动服务:

sudo systemctl daemon-reload

sudo systemctl enable kingbase # 启用开机自启

sudo systemctl start kingbase # 立即启动

sudo systemctl status kingbase # 验证状态

3. 验证开机自启

# 重启系统后检查服务状态

sudo systemctl status kingbase

# 或直接检查进程

ps -ef | grep kingbase

4. 常见问题处理

权限错误
确保数据目录属主为 kingbase

sudo chown -R kingbase:kingbase /opt/Kingbase/ES/V9/data

如果systemd 服务启动失败。是由于 服务配置与现有进程冲突 导致的。以下是完整解决方案:

步骤1:停止现有进程


# 强制停止当前运行的数据库
sudo -u kingbase /opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data stop
# 确认进程已退出
ps -ef | grep kingbase

步骤2:修复服务配置文件

sudo tee /etc/systemd/system/kingbase.service <<'EOF'
[Unit]
Description=KingbaseES Database Server
After=network.target

[Service]
Type=simple  # 修改为simple避免进程检测问题
User=kingbase
Group=kingbase
ExecStart=/opt/Kingbase/ES/V9/Server/bin/kingbase -D /opt/Kingbase/ES/V9/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
Restart=on-failure
TimeoutSec=300

[Install]
WantedBy=multi-user.target
EOF
步骤3:重新加载并启动服务

sudo systemctl daemon-reload

sudo systemctl restart kingbase

sudo systemctl status kingbase # 应显示"active (running)"

步骤4:验证开机自启

# 模拟重启触发

sudo systemctl reboot

# 或手动重启后检查

sudo systemctl status kingbase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dov_c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值