麒麟操作系统安装与配置
本文涵盖银河麒麟操作系统三大主题:V11 Server 版安装教程、V11 Server 平台运行环境安装(JDK 1.8、东方通 TongWeb、TiDB、Nginx)、桌面 V10-SP1 远程 SSH 配置。
一、麒麟 V11 Server 版安装教程
本节介绍如何在 Windows 系统下使用 Rufus 制作银河麒麟 V11 Server 版的安装U盘,适用于服务器系统安装场景。
准备工作
制作步骤
1. 运行 Rufus
插入U盘后,以管理员身份运行 Rufus。
2. 选择设备
在”设备”栏确认选中的是你的U盘。如果有多个可移动设备,请务必仔细核对容量和盘符,避免选错磁盘导致数据丢失。
3. 载入镜像
点击”选择”按钮,找到并载入你下载好的麒麟 V11 Server 版 .iso 镜像文件。
4. 关键设置 — 镜像选项
在”镜像选项”中,务必选择 “DD 镜像模式写入”,这是避免安装过程中出现报错的关键步骤。如果没有,点击开始时会弹出DD选项提示。
麒麟 V11 Server 版镜像采用 DD 写入方式,如果使用默认的 ISO 模式写入,可能导致安装程序无法正常启动。
5. 分区方案
- 分区类型:选择
GPT - 目标系统类型:选择
UEFI(非 CSM)
如果你的服务器比较老旧,仅支持传统 BIOS 启动,可以尝试选择
MBR分区方案。
6. 开始刻录
保持其他选项为默认值,点击底部的 “开始” 按钮。Rufus 会弹出提示确认使用 DD 模式写入,确认后等待刻录完成即可。
刻录完成后,安全弹出U盘,将其插入服务器,设置从U盘启动即可进入麒麟 V11 Server 的安装界面。
7. 开始安装
我的服务器是联想开天M99h G1t-D533,插上U盘,按F12选择U盘启动,进入安装界面,设置密码,选择语言,选择分区,安装完成即可。(记得拔掉U盘)
8. 设置网络
进入 /etc/sysconfig/network-scripts/ 注意不是ifcfg-lo
cd /etc/sysconfig/network-scripts/vi ifcfg-ens33修改ifcfg-ens33文件
DEVICE=ens33IPADDR=192.168.40.18NETMASK=255.255.254.0GATEWAY=192.168.40.1BOOTPROTO=staticONBOOT=yes重启网络服务
systemctl restart network9. 关闭防火墙
systemctl stop firewalldsystemctl disable firewalld磁盘挂载(可选)
如果服务器有独立数据盘(如 /dev/sda1),建议将其挂载到 /data 目录,后续软件和数据都存放在数据盘上,避免系统盘空间不足。
1. 查看磁盘分区信息
fdisk -ldf -h
找到需要挂载的数据盘设备名(如 /dev/sda1)和当前挂载点。
2. 创建挂载点
mkdir -p /data3. 卸载当前自动挂载点(如有)
系统安装后数据盘可能自动挂载到了 /run/media/root/... 下,需要先卸载:
umount /dev/sda14. 挂载到 /data
mount /dev/sda1 /data5. 验证挂载结果
df -h /data应该看到 /dev/sda1 已挂载到 /data,显示对应磁盘容量(如 1.8T)。
6. 设置开机自动挂载
推荐使用 UUID 方式,比设备名更稳定:
# 获取分区 UUIDblkid /dev/sda1输出示例:
[root@localhost /]# blkid /dev/sda1/dev/sda1: UUID="63cfa684-04b9-4e6e-b581-d98f32b429bf" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="aa42032f-01"编辑 fstab 文件:
vi /etc/fstab添加一行(将 UUID 替换为实际值):
UUID=63cfa684-04b9-4e6e-b581-d98f32b429bf /data ext4 defaults 0 0文件系统类型根据实际分区类型调整,常见的有
ext4、xfs等,可通过blkid命令查看。
7. 测试 fstab 配置
mount -a没有报错说明配置正确。

二、麒麟 V11 Server 平台运行环境安装
本节介绍在银河麒麟 V11 Server 版上安装系统运行环境的完整步骤,包括 JDK 1.8、东方通 TongWeb、TiDB 和 Nginx。请先完成上方”一、麒麟 V11 Server 版安装教程”中的系统安装和磁盘挂载。
1. 创建安装目录
如果已挂载独立数据盘,使用
/data路径;否则使用/opt路径。以下以/data为例。
mkdir -p /data/installmkdir -p /data/softwarecd /data/install2. 上传安装包
将以下安装包上传至 /data/install 目录:
| 软件 | 文件名示例 | 说明 |
|---|---|---|
| JDK 1.8 | jdk-8u281-linux-aarch64.tar.gz 或 jdk-8u281-linux-x64.tar.gz | 根据 CPU 架构选择 arm64 或 x64 版本 |
| 东方通 TongWeb | TongWeb7.0.4.9_M10_Enterprise_Linux.tar.gz | 国产应用服务器,需提前获取授权和 license 文件 |
| TiDB | 在线安装 | 分布式 HTAP 数据库,PingCAP 出品 |
| Nginx | 在线安装 | Web 服务器 / 反向代理 |
3. 确认系统架构
uname -maarch64→ ARM 架构(如飞腾、鲲鹏处理器)x86_64→ x64 架构(如 Intel、AMD 处理器)
2.1 安装 JDK 1.8
1. 解压安装
cd /data/installtar -zxvf jdk-8u281-linux-x64.tar.gz -C /data/software/2. 配置环境变量
vi /etc/profile写入以下内容:
export JAVA_HOME=/data/software/jdk1.8.0_281export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH3. 生效并验证
source /etc/profilejava -version如果系统之前已安装 OpenJDK,需要替换默认 java:
Terminal window alternatives --install /usr/bin/java java /data/software/jdk1.8/bin/java 2000alternatives --install /usr/bin/javac javac /data/software/jdk1.8/bin/javac 2000alternatives --set java /data/software/jdk1.8/bin/javaalternatives --set javac /data/software/jdk1.8/bin/javac
在线安装 JDK 1.8(如系统源中有):
yum install java-1.8.0-openjdk -y2.2 安装东方通 TongWeb
1. 解压安装
TongWeb 7.0.4.9 为绿色压缩包,直接解压即可:
cd /data/softwaretar -zxvf TongWeb7.0.4.9_M10_Enterprise_Linux.tar.gz解压后目录通常名为 TongWeb7.0.4.9_M10_Enterprise_Linux,为方便后续管理,可以建立软链接或重命名:
cd /data/softwaremv TongWeb7.0.4.9_M10_Enterprise_Linux tongweb2. 安装 License
将官方提供的 license.dat 文件放置到 tongweb 跟目录下

3. 配置环境变量
vi /etc/profile在文件末尾追加:
export TONGWEB_HOME=/data/software/tongwebexport PATH=$TONGWEB_HOME/bin:$PATH生效配置:
source /etc/profile4. 调整 JVM 参数(可选)
编辑 TongWeb 启动脚本,根据服务器实际内存调整 JVM 参数:
vi $TONGWEB_HOME/bin/startserver.sh找到 JAVA_OPTS 相关配置,建议设置:
JAVA_OPTS="-Xms512m -Xmx2048m -XX:+UseG1GC"生产环境建议
-Xmx设置为服务器可用内存的 50%~70%。
5. 启动 TongWeb
cd $TONGWEB_HOME/bin./startserver.sh &或使用 nohup 后台运行:
nohup ./startserver.sh > tongweb.log 2>&1 &
http://192.168.40.18:9060/console可以看下文档安装包里的/data/software/tongweb/doc/TongWeb_doc.zip,了解更多管理功能和配置项。 默认管理端口为 9060,应用访问端口为 8088。首次登录使用安装时设置的账号密码或默认账号
thanos/thanos123.com。
首次登录,需要修改密码。用户名:thanos,密码:Thanos147.com

5.1 修改应用端口(可选)
TongWeb 默认应用访问端口为 8088,如需修改,编辑
conf/tongweb.xml:
vi $TONGWEB_HOME/conf/tongweb.xml找到 <http-listener> 节点,修改 port 属性(例如改为 8088):
<!-- 修改前 --><http-listener name="tong-http-listener" port="8088" .../>
<!-- 修改后 --><http-listener name="tong-http-listener" port="18080" .../>将所有GBK编码的文件改为UTF-8编码,避免中文乱码问题一共5个:
<web-container jsp-development="true" parameter-encoding="UTF-8" response-encoding="UTF-8" hung-thread-threshold="0" hostnameVerifier="NullHostnameVerifier">
<http-listener name="system-http-listener" port="9060" status="started" address="0.0.0.0" io-mode="nio" http2-enabled="false" ssl-enabled="false" redirect-port="443" uri-encoding="UTF-8" use-body-encoding-for-uri="false" max-parameter-count="10000" max-post-size="2097152" parse-body-methods="POST,PUT,DELETE" default-virtual-host="admin" create-time="2019-10-29 10:54:11">
<http-listener name="tong-http-listener" port="18080" io-mode="nio" redirect-port="8443" uri-encoding="UTF-8" parse-body-methods="POST" default-virtual-host="server" create-time="2019-10-29 10:54:11">
<http-listener name="ejb-server-listener" port="5100" status="stopped" io-mode="nio" http2-enabled="false" ssl-enabled="false" redirect-port="443" uri-encoding="UTF-8" use-body-encoding-for-uri="false" max-parameter-count="10000" max-post-size="2097152" max-swallow-size="2097152" parse-body-methods="POST" default-virtual-host="server" create-time="2019-10-29 10:54:12">保存后重启 TongWeb 生效:
systemctl restart tongweb需要重新启动服务。
6. 配置开机自启
vi /etc/systemd/system/tongweb.service写入以下内容:
[Unit]Description=TongWeb Application ServerAfter=network.target
[Service]Type=simpleUser=rootGroup=rootEnvironment=JAVA_HOME=/data/software/jdk1.8.0_281ExecStart=/data/software/tongweb/bin/startserver.shExecStop=/data/software/tongweb/bin/stopserver.shRestart=on-failureRestartSec=10
[Install]WantedBy=multi-user.target启用并启动服务:
systemctl daemon-reloadsystemctl enable tongwebsystemctl start tongwebsystemctl restart tongwebsystemctl status tongweb7. 部署应用
将应用 WAR 包上传到服务器,使用 TongWeb 管理控制台部署:

2.3 安装 TiDB
TiDB 是 PingCAP 开源的分布式 HTAP 数据库,兼容 MySQL 和 PostgreSQL 协议。推荐使用官方工具 TiUP 进行部署,支持单机测试和集群生产两种模式。
TiUP 部署
1. 安装 TiUP
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | shsource ~/.bash_profile2. 安装 TiDB 组件
tiup cluster首次运行会自动下载 cluster 组件及相关依赖。
3. 单机测试部署(开发/验证环境)
tiup playground --host 0.0.0.0默认会启动一个包含 TiDB、TiKV、PD、TiFlash 等组件的单机集群。TiDB 默认监听 4000 端口。
后台运行方式:
tiup playground --host 0.0.0.0 --mode tikv-slim &4. 集群生产部署
创建集群拓扑配置文件:
cd /datamkdir -p /data/installvi /data/install/topology.yaml单机精简版拓扑(开发/验证环境,不可用于生产):
global: user: "root" ssh_port: 22 deploy_dir: "/data/software/tidb-deploy" data_dir: "/data/software/tidb-data"
pd_servers: - host: 192.168.40.18
tidb_servers: - host: 192.168.40.18
tikv_servers: - host: 192.168.40.18单机生产版拓扑(推荐):
global: user: "root" ssh_port: 22 deploy_dir: "/data/software/tidb-deploy" data_dir: "/data/software/tidb-data"
# 监控组件端口monitored: node_exporter_port: 9100 blackbox_exporter_port: 9115
# 组件调优参数server_configs: tidb: instance.tidb_slow_log_threshold: 300 tikv: readpool.storage.use-unified-pool: false readpool.coprocessor.use-unified-pool: true pd: replication.enable-placement-rules: true replication.location-labels: ["host"]
pd_servers: - host: 192.168.40.18
tidb_servers: - host: 192.168.40.18
# 单机至少跑 3 个 TiKV 实例,满足 PD 副本数要求tikv_servers: - host: 192.168.40.18 port: 20160 status_port: 20180 config: server.labels: { host: "logic-host-1" } - host: 192.168.40.18 port: 20161 status_port: 20181 config: server.labels: { host: "logic-host-2" } - host: 192.168.40.18 port: 20162 status_port: 20182 config: server.labels: { host: "logic-host-3" }
# Prometheus 监控monitoring_servers: - host: 192.168.40.18
# Grafana 可视化面板grafana_servers: - host: 192.168.40.18所有 IP 替换为实际服务器地址。3 个 TiKV 实例用不同端口区分,通过 labels 标记为独立逻辑节点,满足 PD 至少 3 副本的要求。
执行部署(输入服务器密码):
tiup cluster deploy tidb-test v8.1.0 /data/install/topology.yaml --user root -p启动集群:
tiup cluster start tidb-test# 这个命令更多是用于部署时初始化密码,对已运行集群效果不直接tiup cluster init-password --cluster tidb-test --password '你的新密码'查看集群状态:
tiup cluster display tidb-test5. 验证连接
yum install mysql -y# 或者yum install mariadb-server -y# 通过 MySQL 客户端连接 TiDBmysql -h192.168.40.18 -P4000 -u root# 有密码mysql -h192.168.40.18 -P4000 -u root -p6. 管理界面访问
部署完成后,可通过浏览器访问以下管理界面:
| 界面 | 地址 | 默认用户名 | 默认密码 |
|---|---|---|---|
| TiDB Dashboard | http://<服务器IP>:2379/dashboard | root | 数据库密码 |
| Prometheus | http://<服务器IP>:9090 | — | — |
| Grafana | http://<服务器IP>:3000 | admin | admin |
如果 TiDB 部署在远程服务器,建议通过 SSH 端口转发访问:
Terminal window ssh -L 2379:192.168.40.18:2379 -L 9090:192.168.40.18:9090 -L 3000:192.168.40.18:3000 root@<服务器IP>然后在本地浏览器访问
http://192.168.40.18:2379/dashboard、http://192.168.40.18:9090、http://192.168.40.18:3000。
7. 配置开机自启(集群模式)
使用 TiUP 部署的集群默认已自动创建 systemd 服务,各组件会随系统启动:
# 启用 TiDB 服务systemctl enable tidb-4000systemctl enable tikv-20160systemctl enable pd-2379常用 TiUP 命令
# 查看集群列表tiup cluster list
# 启动/停止集群tiup cluster start tidb-testtiup cluster stop tidb-test
# 重启集群tiup cluster restart tidb-test
# 销毁集群tiup cluster destroy tidb-test新建数据库
mysql -h192.168.40.18 -P4000 -u rootmysql -h192.168.40.18 -P4000 -u root -p-- 创建数据库CREATE DATABASE lenglian;CREATE DATABASE db_ccoms;导入表结构
use lenglian;source /data/software/sql_init/lenglian.sql;source /data/software/sql_init/base_setting.sql;source /data/software/sql_init/insert.sql;# 或者mysql -h192.168.40.18 -P4000 -u root lenglian < /data/software/sql_init/lenglian.sqlmysql -h192.168.40.18 -P4000 -u root lenglian < /data/software/sql_init/base_setting.sqlmysql -h192.168.40.18 -P4000 -u root lenglian < /data/software/sql_init/insert.sql
use db_ccoms;source /data/software/sql_init/db_ccoms.sql;修改密码
-- 设置一个复杂点的密码,例如 'MyNewPass123!'ALTER USER 'root'@'%' IDENTIFIED BY '你的新密码';
-- 刷新权限,使修改立即生效FLUSH PRIVILEGES;BR 备份与恢复
BR(Backup & Restore)是 TiDB 官方提供的物理备份恢复工具,基于 SST 文件进行备份,速度快、支持增量备份。BR 通过 TiUP 安装,支持本地目录和 S3/兼容存储作为备份目标。
1. 安装 BR
tiup install br版本信息:
tiup br --version2. 全量备份
备份整个集群到本地目录:
tiup br backup full \ --pd "192.168.40.18:2379" \ --storage "local:///data/backup/tidb-full" \ --ratelimit 128 \ --log-file backup-full.log备份单个数据库:
tiup br backup db \ --pd "192.168.40.18:2379" \ --db "lenglian" \ --storage "local:///data/backup/tidb-lenglian" \ --log-file backup-lenglian.log备份到 S3 兼容存储(如 MinIO):
tiup br backup full \ --pd "192.168.40.18:2379" \ --storage "s3://backup-bucket/tidb-full" \ --send-credentials-to-tikv=true \ --s3.endpoint "http://192.168.40.18:9000" \ --s3.access-key "minioadmin" \ --s3.secret-key "minioadmin-secret" \ --log-file backup-full-s3.log3. 增量备份
先做一次全量备份,之后可基于上次备份的 snapshot 做增量:
# 获取上次全量备份的 snapshot(从日志中查看,如 2026-05-21 10:00:00)# 然后用 --lastbackupts 指定增量起点tiup br backup full \ --pd "192.168.40.18:2379" \ --storage "local:///data/backup/tidb-incremental" \ --lastbackupts "2026-05-21 10:00:00" \ --log-file backup-incremental.log4. 查看备份元信息
tiup br validate decode \ --field="start-version" \ --storage "local:///data/backup/tidb-full"5. 全量恢复
恢复整个集群:
tiup br restore full \ --pd "192.168.40.18:2379" \ --storage "local:///data/backup/tidb-full" \ --ratelimit 128 \ --log-file restore-full.log恢复单个数据库(TiDB v5.0+):
tiup br restore db \ --pd "192.168.40.18:2379" \ --db "lenglian" \ --storage "local:///data/backup/tidb-lenglian" \ --log-file restore-lenglian.log从 S3 恢复:
tiup br restore full \ --pd "192.168.40.18:2379" \ --storage "s3://backup-bucket/tidb-full" \ --send-credentials-to-tikv=true \ --s3.endpoint "http://192.168.40.18:9000" \ --s3.access-key "minioadmin" \ --s3.secret-key "minioadmin-secret" \ --log-file restore-full-s3.log6. 恢复时过滤 / 表映射
按表恢复:
tiup br restore table \ --pd "192.168.40.18:2379" \ --db "lenglian" \ --table "sys_user" \ --storage "local:///data/backup/tidb-lenglian" \ --log-file restore-table.log恢复时重命名表 / 库(--filter 配合 --rules):
# 将备份中的 lenglian 库恢复为 lenglian_bak 库tiup br restore db \ --pd "192.168.40.18:2379" \ --db "lenglian" \ --storage "local:///data/backup/tidb-lenglian" \ --filter "lenglian.*" \ --rules "lenglian.*:lenglian_bak.*" \ --log-file restore-remap.log7. 定时备份脚本示例
mkdir -p /data/scriptsvi /data/scripts/tidb-backup.sh#!/bin/bashBACKUP_DIR="/data/backup/tidb-full"DATE=$(date +%Y%m%d_%H%M%S)LOG="/data/backup/backup-${DATE}.log"
# 创建按日期命名的子目录mkdir -p "${BACKUP_DIR}/${DATE}"
# 执行全量备份tiup br backup full \ --pd "192.168.40.18:2379" \ --storage "local://${BACKUP_DIR}/${DATE}" \ --ratelimit 128 \ --log-file "${LOG}"
# 保留最近 7 天的备份,删除更早的find "${BACKUP_DIR}" -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
echo "[$(date)] Backup ${DATE} completed" >> /data/backup/backup-history.log赋予执行权限并加入 crontab 每日凌晨 2 点执行:
chmod +x /data/scripts/tidb-backup.shcrontab -e添加:
0 2 * * * /data/scripts/tidb-backup.sh >> /data/backup/cron-backup.log 2>&18. 常见问题
| 问题 | 解决 |
|---|---|
storage permission denied | 确保 TiKV 进程有权限读写备份目录,使用 chown 或放在 /data/backup 等目录 |
GC life time is shorter than transaction duration | 备份前调整 GC:mysql -h192.168.40.18 -P4000 -u root -e "UPDATE mysql.tidb SET VARIABLE_VALUE='72h' WHERE VARIABLE_NAME='tikv_gc_life_time';" |
| 备份/恢复速度慢 | 提高 --ratelimit 值(单位 MB/s),确保磁盘 IO 充足 |
| 增量备份找不到上次 snapshot | 使用 br validate decode 查看备份元数据,确认 start-version |
注意:BR 是物理备份工具,恢复时会覆盖目标库已有数据。生产环境建议定期备份到独立的存储设备或 S3 兼容存储,并定期检查备份的可用性(在测试环境做一次恢复验证)。
2.4 安装 Nginx
1. 在线安装 Nginx
yum install nginx -y启用并启动:
systemctl enable nginxsystemctl start nginxsystemctl stop nginxsystemctl restart nginxsystemctl status nginx2.5 验证所有服务
安装完成后,检查所有服务状态:
# 检查 Javajava -version
# 检查 TongWebsystemctl status tongweb
# 检查 TiDBtiup cluster display tidb-test
# 检查 Nginxsystemctl status nginxnginx -t查看各服务端口:
netstat -tlnp | grep -E '(80|443|9060|18080|4000)'| 服务 | 默认端口 | 说明 |
|---|---|---|
| Nginx | 80 | HTTP 服务 |
| TongWeb 管理 | 9060 | 管理控制台 |
| TongWeb 应用 | 18080 | 应用访问端口 |
| TiDB | 4000 | 分布式 HTAP 数据库(MySQL 协议兼容) |
| TiDB Dashboard | 2379 | PD 管理接口 / Dashboard |
| Prometheus | 9090 | 监控数据查询 |
| Grafana | 3000 | 可视化监控面板 |
三、麒麟 桌面 V10-SP1 远程 SSH 配置
银河麒麟桌面 V10 默认禁止 root 用户通过 SSH 直接登录,这是出于安全考虑,防止 root 密码被暴力破解。如需开启,请按以下步骤配置。
设置 root 密码
如果 root 账户尚未激活,首先需要设置密码:
sudo passwd root修改 SSH 配置
安装 SSH 服务
sudo apt install ssh查看服务状态:
systemctl status ssh编辑配置文件
sudo vim /etc/ssh/sshd_config修改以下三项,确保前面没有 # 注释号:
| 配置项 | 值 | 说明 |
|---|---|---|
PermitRootLogin | yes | 允许 root 登录 |
PasswordAuthentication | yes | 允许密码登录 |
UsePAM | 注释掉(#UsePAM yes) | 与麒麟系统冲突会导致 root 登录失败 |
重启服务
sudo systemctl restart sshd放行防火墙
SSH 默认端口为 22,需确保防火墙放行:
- 命令行:
sudo ufw allow 22 - 图形界面:打开安全中心 -> 网络保护,添加一条允许 TCP 协议、端口 22 的入站规则,或直接关闭防火墙。

防止休眠
打开设置 -> 电源,将自动休眠设置为从不,确保服务器不会进入休眠状态。

连接测试
ssh root@<服务器IP>
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

苏公网安备32021402002558号